home *** CD-ROM | disk | FTP | other *** search
/ TOS Silver 2000 / TOS Silver 2000.iso / Anwendun / B_E_M / BEM.TXT < prev    next >
Encoding:
Text File  |  1997-09-29  |  96.9 KB  |  2,868 lines

  1.                 Anleitung für den BavariaEventManager
  2.  
  3.                                BEM_112
  4.  
  5.                               BEM V1.12
  6.                              1. Juni 1997
  7.  
  8.                                  von
  9.  
  10.                             Michael Pieper
  11.  
  12.                      MausNet: Michael Pieper @ A
  13.  
  14.  
  15.  
  16. Inhaltsverzeichnis
  17. ==================
  18.  
  19.  1  Einführung
  20.     1.1  Nutzungsbedingungen
  21.     1.2  Sourcecode
  22.     1.3  Vorhandene Dateien
  23.     1.4  Konzept des Programms
  24.     1.5  Begriffe
  25.  
  26.  2  Installation
  27.     2.1  Installation als Accessory
  28.     2.2  Installation unter SingleTOS
  29.     2.3  Installation unter Multitasking
  30.     2.4  Installation von CD
  31.     2.5  Resource-Datei
  32.     2.6  Hinweis für versierte Benutzer
  33.  
  34.  3  Benutzung
  35.     3.1  Definition von Ereignissen
  36.          3.1.1  Der Ereigniseditor
  37.          3.1.2  Neues Ereignis
  38.          3.1.3  Ereignis editieren
  39.          3.1.4  Ereignis löschen
  40.          3.1.5  TIMER
  41.          3.1.6  PROGRAMM
  42.          3.1.7  TASTATUR
  43.          3.1.8  MAUS
  44.          3.1.9  DEVICE
  45.     3.2  Die Ereignisdateien
  46.          3.2.1  TIMER.EVT
  47.          3.2.2  PROGRAMM.EVT
  48.          3.2.3  KEYBOARD.EVT
  49.          3.2.4  BUTTON.EVT
  50.          3.2.5  SS.EVT
  51.     3.3  Definition von Aktionen
  52.          3.3.1  BEM_EDIT.PRG
  53.          3.3.2  Aktions-Dateien
  54.                 3.3.2.1  EXEC
  55.                 3.3.2.2  RUN
  56.                 3.3.2.3  WAIT
  57.                 3.3.2.4  PATH
  58.                 3.3.2.5  SEND
  59.                 3.3.2.6  SENDFILE
  60.                 3.3.2.7  SS
  61.                 3.3.2.8  CLEAR
  62.                 3.3.2.9  QUIT
  63.                 3.3.2.10  SAVE_INF
  64.                 3.3.2.11  GONG
  65.                 3.3.2.12  ALERT
  66.                 3.3.2.13  INFO
  67.                 3.3.2.14  DISABLE
  68.                 3.3.2.15  DELAY
  69.                 3.3.2.16  VOLUME
  70.                 3.3.2.17  PNICE
  71.                 3.3.2.18  DIM
  72.                 3.3.2.19  SET
  73.                 3.3.2.20  FSELECT
  74.                 3.3.2.21  MIDI-COM
  75.                 3.3.2.22  EXIST
  76.                 3.3.2.23  IF
  77.                 3.3.2.24  PROTOKOLL
  78.                 3.3.2.25  AKTIV
  79.                 3.3.2.26  VA-START
  80.                 3.3.2.27  WINDOW
  81.                 3.3.2.28  GOTO
  82.                 3.3.2.29  SKIP
  83.                 3.3.2.30  PLAY-KEY
  84.                 3.3.2.31  TOP
  85.                 3.3.2.32  AV-SENDKEY
  86.                 3.3.2.33  EXIT
  87.                 3.3.2.34  KILL
  88.                 3.3.2.35  SOMMERZEIT
  89.                 3.3.2.36  <Tastatureingabe>
  90.          3.3.3  Variablen
  91.     3.4  Definition von Feiertagen
  92.     3.5  Systemkonfiguration
  93.          3.5.1  EVENTMAN.INF
  94.          3.5.2  BEM_EDIT.INF
  95.     3.6  Der BavariaEventManager in Aktion
  96.          3.6.1  Registrier-Fenster
  97.          3.6.2  BavariaEventStatus
  98.          3.6.3  BavariaButtonDialog
  99.          3.6.4  BavariaKalender
  100.          3.6.5  BavariaInformation
  101.  
  102. Anhang
  103. ======
  104.  
  105.  A  Bekannte Probleme
  106.     A.1  FPATCH2.PRG
  107.     A.2  CAT auf dem Falcon mit TOS 4.04
  108.     A.3  Gestartetes Programm findet seine RSC-Datei nicht
  109.     A.4  Einsatz des BavariaEventManagers als ACC
  110.     A.5  Programmereignis auf Singletasking-Betriebssystemen
  111.     A.6  Midi-Com Einbindung
  112.  
  113.  B  Beispiele für den Einsatz
  114.  
  115.  C  Definierte Feiertage
  116.  
  117.  D  Haftungsausschluß und Warnung
  118.  
  119.  E  Autor
  120.  
  121.  
  122.  
  123. 1  Einführung
  124. *************
  125.  
  126. Der BavariaEventManager soll Ihnen behilflich sein, wenn sie auf Ihrem
  127. Rechner regelmäßige Aufgaben zu erledigen haben, oder wenn ein be-
  128. stimmtes Ereignis zu einer Aktion führen soll.
  129.  
  130.  
  131. 1.1  Nutzungsbedingungen
  132. ========================
  133.  
  134. Der BavariaEventManager ist seit der Version 1.11 Freeware. Er darf
  135. frei benutzt, weitergegeben und kopiert werden.
  136.  
  137. Spenden sind trotzdem willkommen, da in dem Programm mittlerweile eine
  138. Menge Arbeit steckt.
  139.  
  140. Spenden können auf folgendes Konto überwiesen werden:
  141.  
  142.      Konto-Nr.: 2830 155 719
  143.      BLZ: 720 20 240
  144.      HYPO-Bank Gersthofen
  145.  
  146.  
  147. 1.2  Sourcecode
  148. ===============
  149.  
  150. Der Sourcecode des BavariaEventManager ist seit der Version 1.11 für
  151. einen Kostenbeitrag von 20,- DM erhältlich. Für registrierte User der
  152. Version 1.10 und älter ist er kostenlos.
  153.  
  154. Der Bezug ist auf verschiedenen Wegen möglich:
  155.  
  156.    ∙ Über eine geschlossene Gruppe BEM in der Maus LL.
  157.      Dazu ist es notwendig, sich in der Maus LL als User einzutragen.
  158.      Dann schreiben Sie eine Mail an Michael Pieper @ LL oder den
  159.      Gruppenchef. Sobald das Geld hier angekommen ist, wird die Gruppe
  160.      für den User freigeschaltet und der Sourcecode kann aus dem GPT
  161.      BEM gesaugt werden.
  162.  
  163.    ∙ UUE-codiert über das Internet
  164.      Der Code kann direkt bei michael@ghf.augusta.de bestellt werden.
  165.  
  166.    ∙ Auf Diskette per Snail-Mail
  167.      Dazu schicken Sie mir bitte eine DD- oder HD-Diskette mit einem
  168.      Adfrarüschla (adressierten und frankierten Rückumschlag).
  169.  
  170. Ein Versand als PM über das MausNet ist wegen der Größe des Codes
  171. nicht möglich!
  172.  
  173.  
  174. 1.3  Vorhandene Dateien
  175. =======================
  176.  
  177. Folgende Dateien gehören zum BavariaEventManager:
  178.  
  179.  EVENTMAN.PRG  Das Programm
  180.  EVENTMAN.RSC  Die Resource-Datei. Zum normalen Arbeiten wird sie
  181.                nicht benötigt. Wenn die Optik des BEM verändert werden
  182.                soll, kann sie geändert werden.
  183.  BEM_EDIT.PRG  Das Programm zum Editieren der Ereignisse
  184.  BEM_EDIT.RSC  Das Resourcefile zum Editor
  185.  BEMICONS.RCS  Icons für den Desktop (Programm, Ordner, *.EVT und
  186.                *.BEM)
  187.  EVENTMAN.DAT\ Der Systemordner für den BavariaEventManager
  188.                 EVENTMAN.INF  Hier werden diverse Infos gesichert. Die
  189.                               Datei muß mit "Sichern" erzeugt werden.
  190.                 BEM_EDIT.INF  Hier werden Infos des Editors gesichert.
  191.                 BUTTON.EVT    Die Mausknopfereignisse
  192.                 SS.EVT        Die Schnittstellenereignisse
  193.                 KEYBOARD.EVT  Die Tastaturereignisse
  194.                 PROGRAMM.EVT  Die Programmereignisse
  195.                 TIMER.EVT     Die Zeitereignisse
  196.                 AKTION.DAT    Die Definition der Aktionen
  197.                 FEIERTAG.DAT  Die Definition der Feiertage
  198.                 INFO.DAT      Die Datei, in der die Info-Meldungen
  199.                               gesichert werden. Diese Datei wird
  200.                               automatisch angelegt und wenn vorhanden
  201.                               überschrieben!
  202.                 ????????.PRO  Die Protokolldatei. Der Dateiname kann
  203.                               von Ihnen vorgegeben werden.
  204.  
  205.  
  206. 1.4  Konzept des Programms
  207. ==========================
  208.  
  209.    ∙ Das Programm ist so aufgebaut, daß über diverse Dateien mehrere
  210.      Ereignisse definiert werden können. In weiteren Dateien können
  211.      dann die auszuführenden Aktionen definiert werden.
  212.  
  213.    ∙ Das Programm wurde so gestaltet, daß es in keinem Interrupt
  214.      hängt, sondern als ganz normales Programm gestartet werden kann.
  215.  
  216.    ∙ Das Programm kann seine vollständige Leistungsfähigkeit nur beim
  217.      Einsatz unter einem Multitasking-Betriebssystem entfalten.
  218.      Dennoch kann es auch als Accessory installiert werden. Allerdings
  219.      ist die Benutzung dann systembedingt etwas eingeschränkt.
  220.  
  221.  
  222. 1.5  Begriffe
  223. =============
  224.  
  225.  BavariaEventManager  Viele Leute fragen sich, wieso das Programm denn
  226.                       Bavaria... heißt. Das hat drei einfache Gründe:
  227.  
  228.                         1. EventManager hörte sich IMHO langweilig an
  229.                            :-)
  230.  
  231.                         2. Der Entwickler, also ich, kommt aus Bayern.
  232.  
  233.                         3. Die Feiertagsberechnung kann alle Feier-
  234.                            tage. Und es dürfte ja bekannt sein, daß
  235.                            wir hier in Augsburg (Bayern) die meisten
  236.                            Feiertage in der Republik haben.
  237.  
  238.  Ereignis             Ein Ereignis tritt dann auf, wenn ein defi-
  239.                       nierter Zustand innerhalb des Systems auftritt.
  240.                       Als Ereignisse werden Tastendrücke, Mausklicks,
  241.                       Programmstarts bzw. -enden, Textempfang über
  242.                       Schnittstellen und Zeitdefinitionen verwendet.
  243.                       Einem Ereignis wird eine Aktion zugeordnet.
  244.  
  245.  Aktion               Eine Aktion wird ausgelöst, wenn ein definiertes
  246.                       Ereignis aufgetreten ist. Diese Aktion hat einen
  247.                       frei wählbaren Namen und kann, ähnlich einer
  248.                       Batchdatei, mehrere Befehle enthalten.
  249.  
  250.  Befehle              Eine Aktion besteht aus einem oder mehreren
  251.                       Befehlen. Ein Befehl kann z.B. Programme star-
  252.                       ten, Texte an eine Schnittstelle schicken oder
  253.                       einen Gong ausgeben.
  254.  
  255.  
  256.  
  257. 2  Installation
  258. ***************
  259.  
  260. Derzeit gibt es noch kein Installationsprogramm. Dennoch ist die
  261. Installation denkbar einfach.
  262.  
  263. Folgende Schritte sind generell durchzuführen:
  264.  
  265.    ∙ Es sind alle Dateien auf ein beliebiges Verzeichnis auf der
  266.      Festplatte zu kopieren. Die benötigte Verzeichnisstruktur ist
  267.      unter "Vorhandene Dateien" beschrieben.
  268.  
  269.    ∙ Die *.EVT-Dateien und die Datei AKTION.DAT können gelöscht wer-
  270.      den, oder man kann sie über den Editor oder einen Texteditor
  271.      seinen Ansprüchen anpassen.
  272.  
  273.    ∙ Wenn Sie Feiertage definieren wollen, die nicht im Programm
  274.      enthalten sind, müssen diese in der Datei FEIERTAG.DAT vorhanden
  275.      sein. Diese Datei muß im Ordner EVENTMAN.DAT enthalten sein.
  276.  
  277.    ∙ Rufen Sie nun das Programm EVENTMAN.PRG auf.
  278.  
  279.    ∙ Stellen Sie die gewünschten Fensterpositionen ein und wählen Sie
  280.      den Menüpunkt Datei > Sichern, dadurch wird eine Datei
  281.      EVENTMAN.INF erzeugt.
  282.  
  283.    ∙ Je nach Einsatz geht es nun weiter mit:
  284.  
  285.  
  286.         - Installation als Accessory
  287.         - Installation unter SingleTOS
  288.         - Installation unter Multitasking
  289.         - Installation von CD
  290.  
  291.  
  292. Resource-Datei
  293.  
  294. Hinweis für versierte Benutzer
  295.  
  296.  
  297. 2.1  Installation als Accessory
  298. ===============================
  299.  
  300. Um das Programm als ACC zu benutzen, müssen Sie nun nur noch die Datei
  301. EVENTMAN.PRG sowie EVENTMAN.INF auf Ihr Bootlaufwerk, auf dem Ihre
  302. sonstigen Accessories gesichert sind, kopieren.
  303.  
  304. Ändern Sie nun noch den Dateinamen EVENTMAN.PRG in EVENTMAN.ACC.
  305.  
  306. Nun ist Ihr System vorbereitet, beim nächsten Booten den BavariaEvent-
  307. Manager zu laden. Sie finden den Programmeintrag auf dem Desktop unter
  308. Desk > EventManager.
  309.  
  310. Der Pfad, in dem Ihr EVENTMAN.DAT-Ordner liegt, ist in der
  311. EVENTMAN.INF- Datei gesichert. Sollten sie diesen Ordner verschieben,
  312. müssen Sie den Pfad mit einem Texteditor anpassen oder die Prozedur
  313. unter "Installation" wiederholen.
  314.  
  315. Das Programm erkennt, wo beim Start die EVENTMAN.INF-Datei gefunden
  316. wurde und speichert eventuelle Änderungen dort wieder ab.
  317.  
  318. Unter Mag!X(C) und MultiTOS kann eine Environmentvariable eingetragen
  319. werden, die den EVENTMAN.DAT-Ordner anzeigt. Somit kann auch die Info-
  320. Datei (EVENTMAN.INF) im zentralen Ordner abgelegt werden.
  321.  
  322. unter Mag!C:
  323.  
  324.      Datei: MAGIX.INF
  325.      Zeile: #_ENV BAVARIA-SYSTEM=C:\BEM\EVENTMAN.DAT
  326.  
  327. unter MultiTOS:
  328.  
  329.      Datei: GEM.CNF
  330.      Zeile: setenv BAVARIA-SYSTEM=C:\BEM\EVENTMAN.DAT
  331.  
  332.  
  333. 2.2  Installation unter SingleTOS
  334. =================================
  335.  
  336. Für die Verwendung unter SingleTOS sind nun alle Tätigkeiten erledigt.
  337. Sie können den BavariaEventManager jetzt einfach per Doppelklick star-
  338. ten.
  339.  
  340.  
  341. 2.3  Installation unter Multitasking
  342. ====================================
  343.  
  344. Unter einen Multitaskingbetriebssystem (MultiTOS, Mag!C) ist der
  345. Einsatz des Programms als Hintergrundprogramm sinnvoll. Will man einen
  346. automatischen Start erzeugen, so kann die Datei EVENTMAN.PRG in einen
  347. eventuell vorhandenen Autostartordner kopiert werden. (Achtung! NICHT
  348. den AUTO-Ordner unter MultiTOS verwenden!)
  349.  
  350. Der Pfad, in dem Ihr EVENTMAN.DAT-Ordner liegt, muß über eine Environ-
  351. mentvariable festgelegt werden. Unter Mag!X(C) und MultiTOS kann eine
  352. Environmentvariable eingetragen werden, die den EVENTMAN.DAT-Ordner
  353. anzeigt. Somit kann auch die Info-Datei (EVENTMAN.INF) im zentralen
  354. Ordner abgelegt werden.
  355.  
  356. unter Mag!C:
  357.  
  358.      Datei: MAGIX.INF
  359.      Zeile: #_ENV BAVARIA-SYSTEM=C:\BEM\EVENTMAN.DAT
  360.  
  361. unter MultiTOS:
  362.  
  363.      Datei: GEM.CNF
  364.      Zeile: setenv BAVARIA-SYSTEM=C:\BEM\EVENTMAN.DAT
  365.  
  366.  
  367. 2.4  Installation von CD
  368. ========================
  369.  
  370. Das Programm ist nicht von CD lauffähig, da die Ereignisdateien
  371. editierbar sein müssen. Kopieren Sie daher den kompletten Ordner auf
  372. Ihre Festplatte und installieren das Programm entsprechend den Instal-
  373. lationsanweisungen für Ihre Umgebung.
  374.  
  375.  
  376. 2.5  Resource-Datei
  377. ===================
  378.  
  379. Wenn das Aussehen der Fenster geändert werden soll, muß die Datei
  380. EVENTMAN.RSC in das Startverzeichnis des EVENTMAN.PRG oder .ACC gelegt
  381. werden.
  382.  
  383. Die Datei kann mit einem normalen RCS bearbeitet werden. Die Struktur
  384. der Resource darf dabei jedoch nicht verändert werden, d.h. die
  385. Elemente dürfen verschoben, vergrößert oder verkleinert, der Text darf
  386. verändert, aber nicht die Reihenfolge geändert oder Elemente gelöscht
  387. werden.
  388.  
  389. Ein Arbeiten mit einer in der Struktur geänderten Resource hat mit
  390. großer Wahrscheinlichkeit einen Rechnerabsturz zur Folge.
  391.  
  392. Die gängigen RCS lassen einen Schutz vor Veränderung der Struktur zu.
  393.  
  394.  
  395. 2.6  Hinweis für versierte Benutzer
  396. ===================================
  397.  
  398. Das Programm sucht seine *.EVT-Dateien sowie die EVENTMAN.INF-Datei in
  399. dem Ordner, der in der Enviromentvariablen "BAVARIA-SYSTEM=" angegeben
  400. ist. Daher ist es möglich, den Ordner an eine beliebige Stelle
  401. auszulagern.
  402.  
  403. Der Editor wird im gleichen Pfad wie der EVENTMAN.DAT-Ordner gesucht.
  404.  
  405. Beispiel: BAVARIA-SYSTEM=F:\UTILITY\BEM\DATEN.BEM
  406.  
  407. Somit werden alle *.EVT-Dateien mit F:\UTILITY\BEM\DATEN.BEM\*.EVT
  408. gesucht. Der Editor allerdings wird eine Ebene höher gesucht:
  409. F:\UTILITY\BEM\BEM_EDIT.PRG.
  410.  
  411. Wird der Editor beim Startversuch über das Menü nicht gefunden,
  412. erscheint eine Fehlermeldung. Dort hat man die Möglichkeit, sich mit
  413. dem Knopf "FSELECT" einen Fileselektor anzeigen zu lassen und das
  414. BEM_EDIT.PRG zu suchen.
  415.  
  416. Der Pfad bleibt während des Programmlaufs vom BavariaEventManager
  417. erhalten. Soll er dauerhaft gesichert werden, muß der Menüpunkt Datei
  418. > Konfiguration sichern angewählt werden.
  419.  
  420. Wichtig!
  421. Beim Start als ACC unter SingleTOS kann keine Environmentvariable
  422. abgefragt werden. Daher muß beim ACC-Einsatz die Datei EVENTMAN.INF im
  423. gleichen Ordner liegen wie EVENTMAN.ACC
  424.  
  425.  
  426.  
  427. 3  Benutzung
  428. ************
  429.  
  430. Um das Programm nun sinnvoll einsetzen zu können, müssen die ent-
  431. sprechenden Ereignisse und Aktionen definiert werden.
  432.  
  433. Das kann mit einem ganz einfachen Texteditor geschehen, oder es kann
  434. der BEM_EDIT verwendet werden.
  435.  
  436. Sie müssen sowohl Ereignisse als auch Aktionen definieren.
  437.  
  438.  
  439. 3.1  Definition von Ereignissen
  440. ===============================
  441.  
  442. Generell können alle Ereignisse auch mit einem normalen Texteditor de-
  443. finiert werden. Es ist dann lediglich exakt auf die Dateibeschreibung
  444. zu achten.
  445.  
  446. Es wird allerdings der Editor BEM_EDIT.PRG empfohlen, da dieser
  447. Fehleingaben überprüfen kann und solche gar nicht erst zuläßt.
  448.  
  449.  
  450. 3.1.1  Der Ereigniseditor
  451. -------------------------
  452.  
  453. Nach dem Starten von BEM_EDIT.PRG versucht das Programm die bereits
  454. definierten Ereignisdateien zu finden. Dazu geht der Editor folgender-
  455. maßen vor:
  456.  
  457.    ∙ Ist die Environmentvariable "BAVARIA-SYSTEM" gesetzt, so werden
  458.      in diesem Verzeichnis die Ereignisdateien gesucht.
  459.  
  460.    ∙ Ist dies nicht der Fall, dann wird angenommen, daß in der glei-
  461.      chen Ebene, in der der BEM_EDITor liegt, auch ein Ordner namens
  462.      EVENTMAN.DAT existiert, der die entsprechenden Dateien enthält.
  463.  
  464.    ∙ Nach dem Programmstart erscheint ein Fenster, in dem man die
  465.      einzelnen Ereignisse sowie die zugehörigen Aktionen definieren
  466.      kann.
  467.  
  468.    ∙ Klickt man auf ein Icon, kommt man in den entsprechenden Editor.
  469.      Die Bedienung ist in allen Editoren gleich gehalten.
  470.  
  471.      Man kann die diversen Editoren auch über die Menüleiste oder
  472.      durch Shortcuts erreichen.
  473.  
  474.  
  475.    +---------------------+----------+------------+----------------+
  476.    | Editor \ Aufruf     | Shortcut | Icon       | Datei          |
  477.    +---------------------+----------+------------+----------------+
  478.    | Timerereignis       | CTRL-T   | Uhr        | TIMER.EVT      |
  479.    | Programmereignis    | CTRL-P   | 3,5"-Disk  | PROGRAMM.EVT   |
  480.    | Keybordereignis     | CTRL-K   | Tastatur   | KEYBOARD.EVT   |
  481.    | Mausereignis        | CTRL-M   | Maus       | BUTTON.EVT     |
  482.    | Deviceereignis      | CTRL-D   | Kabel      | SS.EVT         |
  483.    +---------------------+----------+------------+----------------+
  484.    | Feiertage           | CTRL-F   | Sonne      | FEIERTAG.DAT   |
  485.    +---------------------+----------+------------+----------------+
  486.    | Aktionen            | CTRL-A   | Filmklappe | AKTION.DAT     |
  487.    +---------------------+----------+------------+----------------+
  488.    | Systemkonfiguration |          | Werkzeug   | EVENTMAN.INF + |
  489.    |                     |          |            | BEM_EDIT.INF   |
  490.    +---------------------+----------+------------+----------------+
  491.  
  492.                      Tabelle 1: Bedienung des Editors
  493.  
  494.  
  495.    ∙ Jeder Editor besteht aus 5 Zeilen Ereignisübersicht. Sind mehr
  496.      Ereignisse definiert, kann man mit den Scrollbalken das Fenster
  497.      verschieben, so daß man das gesuchte Ereignis wieder findet.
  498.  
  499.    ∙ Im unteren Teil der Editoren stehen Eingabefelder zur Verfügung,
  500.      mit denen man neue Ereignisse definieren oder bestehende editie-
  501.      ren kann.
  502.  
  503.  
  504. 3.1.2  Neues Ereignis
  505. ---------------------
  506.  
  507. Um ein Ereignis neu zu definieren, tragen Sie einfach die gewünschten
  508. Werte in die Eingabefelder ein oder wählen die entsprechenden Einträge
  509. per Popup aus. Ist der Eintrag komplett, können Sie ihn mit dem Knopf
  510. "Neu" in die Liste aufnehmen.
  511.  
  512. Haben Sie kein Ereignis selektiert, dann ist der Knopf "Neu" der
  513. Standardknopf, der mit der RETURN-Taste erreicht werden kann.
  514.  
  515.  
  516. 3.1.3  Ereignis editieren
  517. -------------------------
  518.  
  519. Um ein Ereignis zu editieren, klicken Sie das Ereignis an. Es wird
  520. dann selektiert und die Werte werden in die Eingabefelder übertragen.
  521.  
  522. Gleichzeitig wechselt der Defaultknopf von "Neu" auf "Edit".
  523.  
  524. Hier können nun die Daten geändert werden und mit "Edit" in das
  525. selektierte Feld übernommen werden. Sie können so auch leicht ähnliche
  526. Ereignisse definieren. Einfach das ähnliche Ereignis anklicken, ändern
  527. und mit "Neu" als neues Ereignis definieren.
  528.  
  529.  
  530. 3.1.4  Ereignis löschen
  531. -----------------------
  532.  
  533. Um ein Ereignis zu löschen, wählt man das Ereignis aus und klickt auf
  534. "Löschen".
  535.  
  536. Hat man versehentlich ein Ereignis gelöscht, kann man es nun mit "Neu"
  537. wieder eintragen, da mit dem Selektieren die Eingabefelder ja neu
  538. beschrieben wurden.
  539.  
  540.  
  541. 3.1.5  TIMER
  542. ------------
  543.  
  544. Mit diesem Editorteil lassen sich Ereignisse definieren, die zeitab-
  545. hängig gesteuert werden. Das jeweils nächste Timerereignis erscheint
  546. oben im Statusfenster.
  547.  
  548.    ∙ Hierbei muß in den Feldern "Datum" und "Zeit" angegeben werden,
  549.      wann die Aktion das erste Mal gestartet werden soll.
  550.  
  551.    ∙ Im Feld "Wiederholung alle:" wird eingetragen, in welchem Rhyth-
  552.      mus die Aktion wiederholt werden soll. Mit einem Popupmenü läßt
  553.      sich festlegen, ob die Aktion alle x Jahre, alle x Monate, alle x
  554.      Wochen, alle x Tage, alle x Stunden oder alle x Minuten
  555.      aufgerufen wird.
  556.  
  557.    ∙ Für x kann man in einem Editfeld noch einen Multiplikator eintra-
  558.      gen, so daß man auch Werte wie "alle 27 Minuten" einstellen kann.
  559.  
  560.    ∙ Wird bei "Feiertag" und "Werktags" ein Multiplikator angegeben,
  561.      so werden zum Weiterzählen jeweils immer nur die "Arbeitstage"
  562.      bzw. die "freien Tage" gezählt. Die Angabe 2 als Multiplikator
  563.      bewirkt somit, daß das Ereignis immer z.B. am Samstag auftritt,
  564.      solange bis ein Feiertag innerhalb der Woche ist, denn dieser
  565.      wird ebenfalls als "freier Tag" gezählt.
  566.  
  567.      Als Werktag zählen die Tage Montag-Freitag. Feiertage sind alle
  568.      in der FEIERTAG.DAT eingetragenen Feiertage sowie Samstag und
  569.      Sonntag. Sollen an solchen Tagen Anrufe getätigt werden, sollte
  570.      man die FEIERTAG.DAT auf die bundeseinheitlichen gesetzlichen
  571.      Feiertage sowie Heiligabend und Silvester setzen. Auf diese Weise
  572.      sind Werk- und Feiertage Telekom-gerecht definiert.
  573.  
  574.    ∙ Für die Auswahl "einmalig" ist kein Multiplikator zugelassen.
  575.  
  576.    ∙ Der Button "Nachholen" bewirkt folgendes: Wenn eine Aktion statt-
  577.      gefunden hätte, während der Rechner ausgeschaltet war, wird diese
  578.      so oft wiederholt, wie sie stattgefunden hätte, wenn der Rechner
  579.      eingeschaltet gewesen wäre. Ist der Knopf nicht aktiviert, wird
  580.      die Aktion generell genau einmal ausgeführt.
  581.  
  582.    ∙ Eine Aktion wird nur dann ausgeführt, wenn sie innerhalb des
  583.      "Gültig"-Bereichs liegt. Der Gültig-Bereich wird immer in Stunden
  584.      angegeben. Ein Zeitereignis findet somit nur dann statt, wenn die
  585.      aktuelle Uhrzeit maximal "Gültig" Stunden nach der definierten
  586.      Zeit liegt.
  587.  
  588.      Wird als "Gültig" 0 angegeben, so wird mindestens 1 Minute als
  589.      Gültigkeitsdauer angenommen.
  590.  
  591. Beispiel: Timerereignis Neu
  592.  
  593.  Datum: 08.07.1995        Aktionsname:  Geburtstag
  594.   Zeit: 00:00:00    Wiederholung alle:  01 Jahr(e)   Gültig: 24 Std.
  595.  
  596.  Datei AKTION.DAT:
  597.  [Geburtstag]
  598.      GONG
  599.      ALERT 3 "Michael hat Geburtstag! Unbedingt anrufen!"
  600.  
  601. Diese Aktion warnt jedes Jahr davor, daß man einen bestimmten Geburts-
  602. tag vergißt, allerdings nur an genau dem eingestellten Tag (24 Std von
  603. 0 Uhr an).
  604.  
  605.  
  606. 3.1.6  PROGRAMM
  607. ---------------
  608.  
  609. Mit diesem Editorteil lassen sich Ereignisse definieren, die abhängig
  610. von einem Programmstart/-ende sind. Der BavariaEventManager überprüft
  611. regelmäßig mit "appl_find", ob definierte Programme im Speicher ge-
  612. startet wurden. Ist dies der Fall, wird die Start-Aktion ausgeführt.
  613. War ein Programm bei der letzten Abfrage noch im Speicher und ist nun
  614. entfernt worden, wird die End-Aktion ausgeführt".
  615.  
  616.    ∙ Es können beliebig viele Ereignisse definiert werden. Dazu sind
  617.      die Felder "Start-Aktion" und "End-Aktion" auszufüllen, sowie im
  618.      Feld/Button "Programmname" der maximal 8-Stellige Programmname
  619.      einzutragen. Die Extension (.TOS oder .PRG etc.) muß weggelassen
  620.      werden.
  621.  
  622.    ∙ Mit einem Klick auf "Programmname" kann man das Programm selber
  623.      mit einem Fileselektor auswählen.
  624.  
  625. Beispiel: Programmereignis Neu
  626.  
  627.  Programmname:  RUFUS         Start-Aktion:  DFUE_Start
  628.                                 End-Aktion:  DFUE_Ende
  629.  
  630.  Datei AKTION.DAT:
  631.  [DFUE_Start]
  632.      SS MIDI: AUS
  633.      SS MODEM2: AUS
  634.      SS SERIAL1: AUS
  635.      SS SERIAL2: AUS
  636.  
  637.  [DFUE_Ende]
  638.      SS MIDI: EIN
  639.      SS MODEM2: EIN 38400
  640.      SS SERIAL1: EIN 19200
  641.      SS SERIAL2: EIN
  642.  
  643. Wird das Programm RUFUS vom BavariaEventManager im Speicher erkannt,
  644. werden alle Schnittstellenzugriffe gesperrt, damit sich die beiden
  645. Programme nicht gegenseitig Zeichen wegnehmen.
  646.  
  647. Wird RUFUS wieder verlassen, wird die Schnittstellenüberwachung mit
  648. den oben definierten Aktionen wieder eingeschaltet. Die Schnittstellen
  649. MODEM2 und SERIAL1 werden auf definierte Baudraten gesetzt.
  650.  
  651.  
  652. 3.1.7  TASTATUR
  653. ---------------
  654.  
  655. Mit diesem Editorteil kann man den BavariaEventManager auf Tastatur-
  656. kürzel vorbereiten. Diese Tastaturkürzel werden ausgewertet, sobald
  657. der BEM das aktive Programm ist, d.h., daß der BEM unter MultiTOS ein
  658. Häkchen im Desk- Menü haben muß. Unter Mag!X(C) und unter SingleTos
  659. muß ein BEM-Fenster als oberstes Fenster aktiv sein.
  660.  
  661.    ∙ Es können beliebig viele Ereignisse definiert werden. Dazu ist
  662.      das Editorfeld "Aktionsname" und "Scan/ASCII-code" auszufüllen.
  663.  
  664.    ∙ Da aber nicht jeder eine Liste der Scan- oder ASCII-Codes zur
  665.      Hand hat, kann auch auf den Knopf "Scan/ASCII-code" geklickt
  666.      werden. Dadurch wird von der danach gedrückten Tastenkombination
  667.      der ASCII- und Scancode ermittelt und in das Editfeld
  668.      eingetragen.
  669.  
  670.      Es erscheint zur Information eine Dialogbox, die nur mit einer
  671.      Tastenkombination beendet werden kann.
  672.  
  673.    ∙ Nun läßt sich noch festlegen, welcher Code beim späteren Auswer-
  674.      ten beachtet werden soll, ASCII-, Scancode oder beide.
  675.  
  676.      Das ist wichtig, wenn man z.B. die Taste mit der Ziffer '5'
  677.      definieren will. Diese Taste existiert nämlich zweimal: Einmal
  678.      über den Buchstabentasten und ein weiteres mal auf dem
  679.      Ziffernblock.
  680.  
  681.      Wenn man nun nur den ASCII-Code auswertet, dann ist es später
  682.      egal, welche '5' man betätigt. Die Aktion wird immer ausgeführt.
  683.  
  684.      Wählt man nur den Scan-code, so kann man unterschiedliche Funk-
  685.      tionen auf die Taste '5' legen, je nachdem, ob die '5' des
  686.      Nummernblocks oder die andere '5' gedrückt wurde.
  687.  
  688.      Schaltet man beide (Scan und ASCII) Codeauswertungen ein, so kann
  689.      man auch deutsche und englische Tastaturen unterscheiden, da z.B.
  690.      die Taste 'Z' auf einer deutschen Tastatur einen anderen Scancode
  691.      liefert als auf einer englischen, da die Taste ja physikalisch
  692.      einen anderen Platz einnimmt.
  693.  
  694. Beispiel: Tastaturereignis Neu
  695.  
  696.  Scan/ASCII-Code:  1F/13
  697.  Aktion:  Sichern_inf
  698.  
  699.  Datei AKTION.DAT:
  700.  [Sichern_inf]
  701.      SAVE_INF
  702.      ALERT 1 "Die EVENTMAN.INF wurde gesichert!"
  703.  
  704. Es wird nur der ASCII-Code ausgewertet. Dadurch wird beim Eintrag mit
  705. "Neu" oder "Edit" der Scancode mit "-" überschrieben.
  706.  
  707. Der ASCII-Code 13 (hex.) entspricht CTRL-S. Drückt man nun, während
  708. der BavariaEventManager aktiv ist, diese Tastenkombination, dann wird
  709. die INF- Datei gesichert und eine ALERT-Box bestätigt das.
  710.  
  711.  
  712. 3.1.8  MAUS
  713. -----------
  714.  
  715. Mit diesem Editorteil läßt sich ein Fenster konfigurieren, das beim
  716. BavariaEventManager als BavariaButtonDialog anwählbar ist und 16
  717. Tasten beinhaltet. Diese Tasten sind 4-fach belegt (normal, mit SHIFT,
  718. mit CONTROL und mit ALTERNATE).
  719.  
  720.    ∙ Es können keine Ereignisse mit "Neu" definiert werden, weil nicht
  721.      mehr als 64 Tasten zugelassen sind. Stattdessen ist die gewünsch-
  722.      te Taste anzuwählen, die Werte einzutragen und dann mit "Edit" zu
  723.      übernehmen. Bei der Nummer steht zur Erkennung noch ein
  724.      Buchstabe, so daß man erkennen kann, mit welcher Zusatztaste die
  725.      Funktion ausgelöst wird.
  726.  
  727.    ∙ Man kann die Beschriftung der Tasten wählen (bis zu 13 Zeichen
  728.      ohne Leerzeichen) und die Aktion, die ausgeführt werden soll,
  729.      wenn später diese Taste betätigt wird. Die Aktion muß in der
  730.      Datei AKTION.DAT definiert sein.
  731.  
  732. Beispiel: Mausereignis editieren Knopf Nr. 7:
  733.  
  734.  Beschriftung: POLLEN
  735.  Aktion:    Poll_MS2
  736.  
  737.  Datei AKTION.DAT:
  738.  [Poll_MS2]
  739.     DISABLE 7
  740.     PATH F:\CAT
  741.     RUN F:\CAT\CAT.PRG -iq
  742.     PATH F:\RUFUS
  743.     SS AUX: AUS
  744.     RUN F:\RUFUS\RUFUS.APP MAUS.RUF
  745.     SS AUX: EIN 0
  746.     DELAY 2
  747.     SS AUX: SET 19200
  748.     PATH F:\CAT
  749.     RUN F:\CAT\CAT.PRG -oq
  750.     ENABLE 7
  751.  
  752. Wird nun auf den Button "POLLEN" geklickt, so wird die Aktion
  753. "Poll_MS2" aufgerufen. Diese besteht aus 12 Kommandos, die hinterein-
  754. ander abgearbeitet werden.
  755.  
  756. Zuerst wird der Knopf deselektiert, dann das Outfile erstellt. Die
  757. Schnittstellenüberwachung wird abgeschaltet, Rufus zum MausTausch
  758. aufgerufen, danach DTR für 2 Sekunden abgeschaltet, dann die Schnitt-
  759. stellenüberwachung wieder eingeschaltet, das Outfile einsortiert und
  760. am Ende der Knopf wieder freigeschaltet.
  761.  
  762.  
  763. 3.1.9  DEVICE
  764. -------------
  765.  
  766. Mit diesem Editorteil stellt man die Schnittstellenüberwachung ein.
  767. Dabei werden die eingeschalteten Schnittstellen auf die ankommenden
  768. Zeichen überwacht und wenn eine Übereinstimmung auftaucht, wird das
  769. entsprechende Kommando ausgeführt. Der Status der überwachten Schnitt-
  770. stellen erscheint im Statusfenster.
  771.  
  772.    ∙ Die Schnittstellengeschwindigkeit entspricht der, die im Kon-
  773.      trollfeld eingestellt wurde. Sollen Strings überwacht werden, die
  774.      ein CR beinhalten, ist als CR-Ersatz die Zeichenkombination ^M zu
  775.      verwenden. Wird also RING^MRING^M eingegeben, dann werden zwei
  776.      RING vom Modem abgewartet, bis das Ereignis ausgeführt wird.
  777.  
  778.      Doch beachten Sie bitte, daß ein String längere Zeit auch im
  779.      Buffer stehen kann. Zwei Anrufe mit jeweils einem Klingeln
  780.      erzeugen genau den gleichen String wie zwei Klingelzeichen
  781.      hintereinander.
  782.  
  783.    ∙ Es können die Schnittstellen AUX:, MODEM1:, MODEM2:, SERIAL1:,
  784.      SERIAL2: und MIDI: überwacht werden. Eine Überwachung auf diverse
  785.      Hardwareleitungen ist derzeit nicht eingebaut.
  786.  
  787.    ∙ Es können beliebig viele Ereignisse definiert werden. Dazu sind
  788.      die Felder "Zu prüfender String" und "Aktionsname" auszufüllen
  789.      sowie im Popup "Device" die entsprechende Schnittstelle
  790.      auszuwählen.
  791.  
  792. Beispiel Schnittstellenereignis Neu
  793.  
  794.  Device: AUX:
  795.  Zu prüfender String: RING^MRING^M
  796.  Aktionsname:  Anruf
  797.  
  798.  Datei AKTION.DAT:
  799.  [Anruf]
  800.     GONG
  801.     INFO  "->         ACHTUNG        <-| |Es hat geklingelt!"
  802.     SS AUX: AUS
  803.     SEND AUX: "ATA"
  804.     RUN LOGIN.PRG AUX:
  805.     CLEAR AUX:
  806.     SS AUX: EIN
  807.  
  808. Wird nun beim Ablauf des BavariaEventManagers erkannt, daß der String
  809. "RING^MRING^M" (zweimal RING mit einem Carriage Return danach) über
  810. die Schnittstelle AUX: empfangen wurde, so werden nacheinander ein
  811. Gong und ein Info-Text auf dem Bildschirm ausgegeben. Danach wird die
  812. Schnittstellenüberwachung abgeschaltet, der String "ATA" zum Modem
  813. geschickt und ein Programm gestartet, dem der Parameter "AUX:" über-
  814. geben wird. Wenn das Programm beendet wird, wird der Schnitt-
  815. stellenpuffer gelöscht und die Überwachung wieder aktiviert.
  816.  
  817.  
  818. 3.2  Die Ereignisdateien
  819. ========================
  820.  
  821. Alle Ereignisdateien haben die Endung *.EVT. In jeder Zeile steht ein
  822. Ereignis.
  823.  
  824.  
  825. 3.2.1  TIMER.EVT
  826. ----------------
  827.  
  828. Die Struktur jeder Zeile sieht folgendermaßen aus:
  829.  
  830. jjjjmmtthhmmss[{#|-h}] wi ken aktion
  831.  
  832.  jjjj    Jahr, wann das Ereignis erneut ausgeführt werden soll
  833.  mm      Monat
  834.  tt      Tag
  835.  hh      Stunde
  836.  mm      Minute
  837.  ss      Sekunde
  838.  
  839.  #       Dieser Eintrag wird nicht beachtet. Um ein Ereignis zu star-
  840.          ten, darf dieses Zeichen nicht vorhanden sein.
  841.  
  842.  -h      Dieser Eintrag gibt die Gültigkeitsdauer eines Ereignisses in
  843.          Stunden an. -2 bedeutet somit 2 Stunden Gültigkeitsdauer.
  844.  
  845.  wi      Wiederholung:
  846.           MI minütlich
  847.           ST stündlich
  848.           TA täglich
  849.           WO wöchentlich
  850.           MO monatlich
  851.           JA jährlich
  852.           FT täglich nur an Wochenenden und Feiertagen
  853.           WT werktäglich. Nicht an Wochenenden und Feiertagen
  854.           MT monatliche Wiederholung nach Tagen
  855.  
  856.          Steht direkt nach der Kennung ein '!', dann werden die
  857.          Ereignisse so oft nachgeholt, wie sie erfolgen sollten, als
  858.          der Computer ausgeschaltet war. Ist dieses Zeichen nicht
  859.          vorhanden, wird das Ereignis maximal einmal nachgeholt.
  860.          Wird direkt vor die Kennung eine Ziffernfolge gestellt, gibt
  861.          das einen Multiplikator an. Beispiel: 20MI sind 20 Minuten.
  862.          Für die monatliche Wiederholung nach Tagen (MT) gelten
  863.          folgende Parameter:
  864.          MT[!]<Tag im Monat><Wochentag>
  865.          <Tag im Monat> gibt die Anzahl an, am wievielten Wochentag
  866.          des Monats dieses Ereignis stattfinden soll. Es darf nur eine
  867.          Stelle lang sein. Der Wertebereich ist 1,2,3,4 und L (L =
  868.          letzter).
  869.  
  870.          Die Bezeichnung "MT!L1" bedeutet also immer letzter Montag im
  871.          Monat. Ein Multiplikator gibt dabei an, wieviele Monate
  872.          weiterzuzählen sind.
  873.          Das Wiederholungszeichen muß nach dem MT stehen! Erst danach
  874.          darf die Angabe der Tage und Wochentage folgen.
  875.          12MT!L7" dient also dazu, die Sommer-/Winterzeitumschaltung
  876.          zu realisieren. Das ! ist hier wichtig. Wenn nämlich während
  877.          der Umschaltung der Rechner eine Woche nicht an ist, würde
  878.          die Sommerzeit ja nicht eingeschaltet. Durch das ! wird das
  879.          dann nachgeholt, sobald der Rechner wieder betriebsbereit ist
  880.          (siehe auch SOMMERZEIT).
  881.          Der BEM_EDIT kann das Format inzwischen zwar anzeigen, aber
  882.          noch nicht editieren!
  883.          Weitere Kennungen, bei denen aber '!' und Multiplikator nicht
  884.          zugelassen sind:
  885.           EI einmalig. Nach Ausführung wird die Zeile mit '#' mar-
  886.             kiert.
  887.  
  888.  ken     Kennummer, muß eindeutig sein. Der Inhalt ist egal. Es wird
  889.          empfohlen, das Eintragsdatum und die Eintragszeit zu verwen-
  890.          den.
  891.  
  892.  aktion  Name der Aktion, die in der Datei AKTION.DAT ausgeführt
  893.          werden soll, wenn das Ereignis eintrifft.
  894.  
  895.  
  896.  
  897. Es dürfen keine Leerzeichen enthalten sein. Diese dienen der Trennung.
  898.  
  899.  
  900. 3.2.2  PROGRAMM.EVT
  901. -------------------
  902.  
  903. Die Struktur jeder Zeile sieht folgendermaßen aus:
  904.  
  905. prog start ende
  906.  
  907.  prog   Gibt an, welches Programm überwacht werden soll. Es genügt die
  908.         Angabe des Programmnamens ohne die Extension. Beispiel: Für
  909.         RUFUS.APP genügt "RUFUS"
  910.  
  911.  start  Diese Aktion soll ausgeführt werden, wenn das überwachte Pro-
  912.         gramm gestartet wurde.
  913.  
  914.  ende   Diese Aktion soll ausgeführt werden, wenn das überwachte Pro-
  915.         gramm beendet wurde.
  916.  
  917. Für start und ende muß immer eine Eingabe vorhanden sein. Wollen Sie
  918. keine Aktion starten, dann geben Sie eine unbekannte Aktion ein.
  919.  
  920. z.B.: "RUFUS - ruf-stop"
  921.  
  922. Der "-" wird nicht in der AKTION.DAT gefunden, somit auch nicht ausge-
  923. führt.
  924.  
  925. Es dürfen keine Leerzeichen enthalten sein. Diese dienen der Trennung.
  926.  
  927.  
  928. 3.2.3  KEYBOARD.EVT
  929. -------------------
  930.  
  931. Um diese Datei bearbeiten zu können, benötigen Sie eine Tabelle der
  932. ASCII- und SCAN-Codes auf Ihrem Rechner.
  933.  
  934. Die Struktur jeder Zeile sieht folgendermaßen aus:
  935.  
  936. scas aktion
  937.  
  938.  sc      Scancode, auf den geachtet werden muß. ("-" = nicht beach-
  939.          ten.)
  940.          Die Angabe erfolgt hexadezimal und immer zweistellig.
  941.  
  942.  as      ASCII-Code, auf den geachtet werden muß. ("-" = nicht beach-
  943.          ten.)
  944.          Die Angabe erfolgt hexadezimal und immer zweistellig.
  945.          Um z.B. die Funktionstasten auszuwählen, ist der Scancode zu
  946.          verwenden.
  947.  
  948.  aktion  Name der Aktion, die in der Datei AKTION.DAT ausgeführt
  949.          werden soll.
  950.  
  951. Es dürfen keine Leerzeichen enthalten sein. Diese dienen der Trennung.
  952.  
  953.  
  954. 3.2.4  BUTTON.EVT
  955. -----------------
  956.  
  957. Die Struktur jeder Zeile sieht folgendermaßen aus:
  958.  
  959. nr beschr aktion
  960.  
  961.  nr      Die Nummer des Buttons, der abgefragt werden soll (1-64). Die
  962.          Buttons werden folgendermaßen gezählt:
  963.  
  964.                       1   2   3   4
  965.                       5   6   7   8
  966.                       9  10  11  12
  967.                      13  14  15  16
  968.  
  969.  beschr  Text, mit dem der Button beschriftet werden soll. Es werden
  970.          maximal 13 Zeichen angezeigt.
  971.  
  972.  aktion  Name der Aktion, die in der Datei AKTION.DAT ausgeführt
  973.          werden soll.
  974.  
  975. Es dürfen keine Leerzeichen enthalten sein. Diese dienen der Trennung.
  976.  
  977.  
  978. 3.2.5  SS.EVT
  979. -------------
  980.  
  981. Die Struktur jeder Zeile sieht folgendermaßen aus:
  982.  
  983. ss "text" aktion
  984.  
  985.  ss      Schnittstelle, die überwacht werden soll:
  986.  
  987.           AUX      Serielle Schnittstelle
  988.           MIDI     Midi-Port
  989.           MODEM1   Modem1
  990.           MODEM2   Modem2
  991.           SERIAL1  Serial1
  992.           SERIAL2  Serial2
  993.  
  994.          Es können natürlich nur tatsächlich vorhandene Schnittstellen
  995.          überwacht werden. Daher sind die zulässigen Schnittstellen
  996.          vom Rechner abhängig. Beim Aufruf einer nicht vorhandenen
  997.          Schnittstelle wird der Fehlercode -15 zurückgegeben.
  998.  
  999.  "text"  Der Text, auf den gewartet werden soll, in " " eingeschlos-
  1000.          sen. Ein Zeilenende darf in dem String nicht vorkommen.
  1001.  
  1002.  aktion  Name der Aktion, die in der Datei AKTION.DAT ausgeführt
  1003.          werden soll.
  1004.  
  1005. Es dürfen keine Leerzeichen enthalten sein. Diese dienen der Trennung.
  1006.  
  1007.  
  1008. 3.3  Definition von Aktionen
  1009. ============================
  1010.  
  1011. Jedem Ereignis kann eine beliebige Aktion zugewiesen werden. Der dort
  1012. verwendete Name wird in der Datei AKTION.DAT unverändert gesucht. Wird
  1013. er gefunden, werden die entsprechenden Befehle ausgeführt.
  1014.  
  1015. Sie können sich zusätzlich noch einzelne Aktions-Dateien definieren,
  1016. die lediglich eine Aktion enthalten. Diese Dateien sollten die Endung
  1017. *.BEM haben und im Desktop auf EVENTMAN.PRG angemeldet sein.
  1018.  
  1019. Dadurch können Sie mit einen Doppelklick auf die Datei die Aktion zur
  1020. Ausführung bringen.
  1021.  
  1022. Siehe auch Aktions-Dateien (AKTION.DAT und *.BEM)
  1023.  
  1024. Es gibt noch zusätzliche Aktionen, die automatisch ausgelöst werden:
  1025.  
  1026.  _Programmstart  wird ausgeführt, wenn der BavariaEventManager gestar-
  1027.                  tet wird, dient also für eine erste Konfiguration der
  1028.                  Schnittstellen und ähnliches.
  1029.  
  1030.  _Programmende   wird vor Beendigung des BavariaEventManager ausge-
  1031.                  führt und sollte den Befehl "QUIT" enthalten.
  1032.  
  1033. Alle Aktionen können mit einem normalen Texteditor definiert werden.
  1034. Es ist darauf zu achten, daß die Datei AKTION.DAT korrekt aufgebaut
  1035. ist.
  1036.  
  1037.  
  1038. 3.3.1  BEM_EDIT.PRG
  1039. -------------------
  1040.  
  1041. Wird der Editor gestartet, kann man mit dem Icon BEM.Aktion in einen
  1042. frei wählbaren Texteditor gelangen. Ist noch kein Editor bekannt,
  1043. erhält man eine Fileselektorbox, um einen entsprechenden Editor
  1044. auszuwählen.
  1045.  
  1046. Solange man im BEM_EDIT.PRG verbleibt, ist dieser Editor dem Programm
  1047. bekannt. Um diesen Editor dauerhaft zu speichern, ist der Menüpunkt
  1048. Datei -> Konfiguration sichern anzuwählen. Dann wird der Editor in der
  1049. EVENTMAN.INF gesichert und steht in Zukunft direkt zur Verfügung.
  1050.  
  1051. Dem Editor wird beim Start der komplette Pfadname der AKTION.DAT-Datei
  1052. mitgegeben. Dadurch steht im Editor immer gleich die richtige Datei
  1053. zur Bearbeitung zur Verfügung.
  1054.  
  1055.  
  1056. 3.3.2  Aktions-Dateien
  1057. ----------------------
  1058.  
  1059. (AKTION.DAT und *.BEM)
  1060.  
  1061. In der Datei AKTION.DAT müssen alle Aktionen definiert werden, die von
  1062. Ereignissen aufgerufen werden. Alle 5 Ereignisarten suchen in der
  1063. Datei AKTION.DAT nach dem Aktionsnamen, der in eckigen Klammern und in
  1064. einer eigenen Zeile stehen muß.
  1065.  
  1066. Die Aktionsdateien *.BEM enthalten genau eine Aktion. Daher entfällt
  1067. hier der Aktionsname. In einer *.BEM-Datei stehen nur Befehle. Die
  1068. Bearbeitung der Datei wird abgebrochen, sobald eine eckige Klammer
  1069. gefunden wird.
  1070.  
  1071. Eine Aktion wird vom Aktionsnamen in eckigen Klammern eingeleitet.
  1072. [_Programmstart] beschreibt also den Beginn der Aktion _Programmstart.
  1073. Sämtliche folgenden Zeilen bis zum nächsten Aktionsbeginn oder dem
  1074. Dateiende gehören zur gleichen Aktion.
  1075.  
  1076. Innerhalb einer Zeile ist jeweils ein Befehl einzugeben. Kommentarzei-
  1077. len beginnen mit einem ";". Das Ende eines Befehls ist das Ende der
  1078. Zeile. Eine Befehlszeile darf maximal 254 Zeichen lang werden.
  1079.  
  1080. Das Format jeder Aktion in der AKTION.DAT sieht also folgendermaßen
  1081. aus:
  1082.  
  1083.  [<aktion>]
  1084.  <bef> <par>
  1085.  <bef> <par>  beliebig viele Zeilen.
  1086.  
  1087. Im Format jeder *.BEM Datei fehlt lediglich der Aktionsname, daher
  1088. beginnen die *.BEM-Dateien gleich mit den Befehlen:
  1089.  
  1090.  <bef> <par>
  1091.  <bef> <par>  beliebig viele Zeilen.
  1092.  
  1093. Zwischen den Angaben muß als Trennzeichen mindestens ein Leerzeichen
  1094. oder TAB vorhanden sein.
  1095.  
  1096.  <aktion> Name der Aktion, die ausgeführt wird. Es muß der gleiche
  1097.           Name verwendet werden, wie er in den *.EVT-Dateien definiert
  1098.           wurde.
  1099.  
  1100.  <bef>    Der Befehl, der ausgeführt werden soll. Nachfolgend eine
  1101.           übersicht der Befehle, die derzeit verstanden werden. Eine
  1102.           genauere Beschreibung steht in den nächsten Abschnitten.
  1103.  
  1104.            EXEC          Programm parallel ausführen
  1105.            RUN           Programm ausführen, auf Ende warten
  1106.            WAIT          Aktion unterbrechen, bis bestimmte Bedingun-
  1107.                          gen erfüllt sind
  1108.            PATH          Gesetzten Standardpfad ändern
  1109.            SEND          Senden von Text
  1110.            SENDFILE      Senden einer Datei
  1111.            SS            Schnittstelle konfigurieren
  1112.            CLEAR         Schnittstellenpuffer löschen
  1113.            QUIT          BavariaEventManager verlassen
  1114.            SAVE_INF      Speichert die INF-Datei
  1115.            GONG          Gibt einen Aufmerksamkeitsgong aus
  1116.            ALERT         Definiert eine Alertbox
  1117.            DISABLE       Sperrt einen Button
  1118.            ENABLE        Gibt einen Button frei
  1119.            DELAY         Wartet eine definierte Zeit
  1120.            VOLUME        Verändert die Lautstärke des Falcon
  1121.            PNICE         Verändert unter MultiTOS die Pro-
  1122.                          grammpriorität
  1123.            DIM           Definiert eine Variable.
  1124.            SET           Weist einer Variablen einen Wert zu
  1125.            FSELECT       Ruft eine Fileselectorbox auf
  1126.            MIDI-COM      Versendet Befehle an andere MIDI-COM- Rechner
  1127.            EXIST         Prüft, ob eine Datei vorhanden ist
  1128.            IF ELSE ENDIF Dient zur Ablaufsteuerung der Aktionen
  1129.            PROTOKOLL     Schaltet das Protokollfile ein und aus
  1130.            AKTIV         Prüft, ob ein bestimmtes Programm läuft
  1131.            VA-START      Übergibt Parameter an ein laufendes Programm
  1132.            WINDOW        Öffnet oder schließt BEM-Fenster
  1133.            GOTO          Springt direkt eine andere Aktion an
  1134.            SKIP          Verschiebt eine Aktion um einen definierbaren
  1135.                          Zeitraum
  1136.            PLAY-KEY      Simuliert dem Computersystem eine
  1137.                          Tastaturfolge
  1138.            AV-SENDKEY    Sendet einem Programm eine Tastaturfolge
  1139.            TOP           Bringt ein Fenster eines Programms nach oben
  1140.            EXIT          Schickt einem Programm eine Shutdown-
  1141.                          Nachricht
  1142.            KILL          Beendet ein Programm hart
  1143.            SOMMERZEIT    Schaltet um zwischen Sommer- und Winterzeit
  1144.            ;             Diese Zeile wird ignoriert. Hier können
  1145.                          Kommentare eingefügt oder nicht benötigte
  1146.                          Befehle deaktiviert werden.
  1147.  
  1148.  
  1149.  <par>    Die benötigten Parameter zu den Befehlen.
  1150.  
  1151.  
  1152. 3.3.2.1  EXEC
  1153.  
  1154. EXEC [{"TOS", "GEM"}] <prog> <par>]
  1155.  
  1156. EXEC führt unter Multitaskingbetriebssystemen das Programm <prog>
  1157. parallel aus. Das heißt, daß die Abarbeitung der Aktion mit dem
  1158. nächsten Befehl gleich fortgesetzt wird. Unter SingleTOS ist der
  1159. Befehl identisch mit "RUN".
  1160.  
  1161. Die Parameter <par> werden dem aufgerufenen Programm übergeben. Eine
  1162. übergabe von mehr als 127 Zeichen als Parameter ist derzeit nicht
  1163. möglich.
  1164.  
  1165. Beachten Sie aber bitte, daß Sie unter <prog> den kompletten Pfad des
  1166. Programms angeben, da ansonsten die Datei eventuell nicht gefunden
  1167. werden kann.
  1168.  
  1169. Unter Multitaskingsystemen kann man noch auswählen, ob das Programm
  1170. als "TOS-Programm", also mit VT52 gestartet werden soll, oder als
  1171. "GEM- Programm". Wird keiner der beiden Schalter angegeben, dann wird
  1172. überprüft, ob der Programmname auf die Maske "*.t*" paßt. Ist dies der
  1173. Fall, wird das Programm als TOS (also mit VT52) gestartet, ansonsten
  1174. als GEM.
  1175.  
  1176.  Beispiel:
  1177.  
  1178.  [cat-ll]
  1179.     PATH F:\CAT
  1180.     EXEC F:\CAT\CAT.PRG CAT_LL.INF
  1181.     GONG
  1182.  
  1183. Der Gong wird bereits ausgegeben, wenn der Programmstart erfolgt ist.
  1184. Das Ende von CAT wird durch dieses Ereignis nun nicht mehr überwacht.
  1185.  
  1186.  
  1187. 3.3.2.2  RUN
  1188.  
  1189. RUN [{"TOS", "GEM"}] <prog> <par>]
  1190.  
  1191. RUN führt unter Multitaskingbetriebssystemen das Programm <prog> aus,
  1192. wartet aber im Gegensatz zu EXEC auf die Beendigung des Programms.
  1193. Erst danach wird die Ausführung des nächsten Befehls aktiviert.
  1194.  
  1195. Die Parameter <par> werden dem aufgerufenen Programm übergeben. Eine
  1196. übergabe von mehr als 127 Zeichen als Parameter ist derzeit nicht
  1197. möglich.
  1198.  
  1199. Beachten Sie aber bitte, daß sie unter <prog> den kompletten Pfad des
  1200. Programms angeben, da ansonsten die Datei eventuell nicht gefunden
  1201. werden kann.
  1202.  
  1203. Unter Multitaskingsystemen kann man noch auswählen, ob das Programm
  1204. als "TOS-Programm", also mit VT52 gestartet werden soll, oder als
  1205. "GEM- Programm". Wird keiner der beiden Schalter angegeben, dann wird
  1206. überprüft, ob der Programmname auf die Maske "*.t*" paßt. Ist dies der
  1207. Fall, wird das Programm als TOS (also mit VT52) gestartet, ansonsten
  1208. als GEM.
  1209.  
  1210.  Beispiel:
  1211.  
  1212.  [cat-ll]
  1213.     PATH F:\CAT
  1214.     RUN F:\CAT\CAT.PRG CAT_LL.INF
  1215.     GONG
  1216.  
  1217. Der Gong wird erst ausgegeben, wenn der Benutzer CAT wieder beendet
  1218. hat. Die Aktion "cat-ll" wartet solange auf das Ende von CAT, bis
  1219. dieses auch eintritt und fährt erst danach mit der Aktion fort.
  1220.  
  1221.  
  1222. 3.3.2.3  WAIT
  1223.  
  1224. WAIT {"NO-AKTION", "NO-AKTIV" <programm>, "AKTIV" <programm>}
  1225.  
  1226. Mit dem Befehl WAIT kann man den BavariaEventManager veranlassen, die
  1227. Ausführung einer Aktion zu unterbrechen. Wann die Aktion wieder
  1228. fortgesetzt wird, wird mit den Parametern bestimmt.
  1229.  
  1230.    ∙ WAIT NO-AKTION
  1231.  
  1232.      Mit dem Parameter NO-AKTION wird die Ausführung der Aktion dann
  1233.      fortgesetzt, wenn keine weitere Aktion derzeit ausgeführt wird.
  1234.      Sobald die laufende Aktion beendet wird, wird die wartende Aktion
  1235.      fortgesetzt.
  1236.  
  1237.    ∙ WAIT NO-AKTIV <programm>
  1238.  
  1239.      Mit dem Parameter NO-AKTIV wird die Ausführung der Aktion solange
  1240.      unterbrochen, wie das angegebene Programm sich im Speicher des
  1241.      ATARI befindet. WAIT NO-AKTIV "cat" bewirkt, daß die Aktion erst
  1242.      fortgesetzt wird, wenn das Programm CAT sich nicht mehr im
  1243.      Speicher befindet. <programm> muß ohne Extension angegeben
  1244.      werden.
  1245.  
  1246.    ∙ WAIT AKTIV <programm>
  1247.  
  1248.      Mit dem Parameter AKTIV wird auf den Start eines Programms
  1249.      gewartet. (Wozu das nützlich ist, weiß ich derzeit noch nicht,
  1250.      aber es waren nur zwei Zeilen Programmcode mehr, also hab ich's
  1251.      mal reingemacht.)
  1252.  
  1253.  
  1254. 3.3.2.4  PATH
  1255.  
  1256. PATH <pfad>
  1257.  
  1258. Mit diesem Befehl setzen Sie den aktuellen Standardpfad Ihres Systems.
  1259. Dies wird von vielen Programmen benötigt, wenn sie RSC-Dateien nach-
  1260. laden wollen. Diese Programme suchen meistens im aktuellen Pfad. Da
  1261. aber eventuell ein anderer Pfad eingestellt sein kann, sollte vor
  1262. einem EXEC oder RUN ein PATH stehen.
  1263.  
  1264. Als Ergebnis liefert PATH den Wert "TRUE", wenn die Umstellung erfolg-
  1265. reich war. Bei numerischen Variablen ist das Ergebnis 0. Im Fehlerfall
  1266. wird ein negativer Wert ausgegeben, der der GEMDOS-Fehlernummer
  1267. entspricht.
  1268.  
  1269.  Beispiel:
  1270.  
  1271.  [aktion-1]
  1272.     PATH F:\CAT
  1273.     RUN F:\CAT\CAT.PRG
  1274.  
  1275.  
  1276. 3.3.2.5  SEND
  1277.  
  1278. SEND <ss> <text>
  1279.  
  1280. Mit dem Befehl SEND können Sie Texte über die Schnittstellen AUX:,
  1281. MIDI:, MODEM1:, MODEM2:, SERIAL1:, SERIAL2: oder nur hier auch PRN:
  1282. gesendet werden. Als <ss> ist die oben angegebene Schnittstelle zu
  1283. definieren. Die Schnittstelle PRN: spricht die Druckerschnittstelle
  1284. an.
  1285.  
  1286. Es wird automatisch ein CR/LF angefügt.
  1287.  
  1288. Wenn der Befehl ausgeführt werden konnte, liefert diese Funktion
  1289. "TRUE" bzw. 0 zurück. Im Fehlerfall wird der GEMDOS-Fehlercode
  1290. gesetzt:
  1291.  
  1292.  -15: Unbekannte Schnittstelle
  1293.   -1: kein auszugebender Text vorhanden.
  1294.  
  1295.  
  1296. Beispiele:
  1297.  
  1298. [aktion-2]
  1299.    SEND MIDI: "HALLO"     Sendet den Text "HALLO" über Midi.
  1300.  
  1301. [aktion-4]
  1302.  
  1303.    SEND PRN: "Start"      Sendet den Text "Start" zum Drucker
  1304.  
  1305.  
  1306. 3.3.2.6  SENDFILE
  1307.  
  1308. SENDFILE <ss> <file>
  1309.  
  1310. Mit dem Befehl SENDFILE können Sie Dateien über die Schnittstellen
  1311. AUX:, MIDI:, MODEM1:, MODEM2:, SERIAL1:, SERIAL2: oder nur hier auch
  1312. PRN: gesendet werden. Als <ss> ist die oben angegebene Schnittstelle
  1313. zu definieren. Die Schnittstelle PRN: spricht die Druckerschnittstelle
  1314. an.
  1315.  
  1316. Wenn der Befehl ausgeführt werden konnte, liefert diese Funktion
  1317. "TRUE" bzw. 0 zurück. Im Fehlerfall wird der GEMDOS-Fehlercode
  1318. gesetzt:
  1319.  
  1320.  -15: Unbekannte Schnittstelle
  1321.   -1: kein auszugebender Text vorhanden.
  1322.  
  1323.  
  1324. Beispiel:
  1325.  
  1326. [aktion-3]
  1327.    SENDFILE AUX: "C:\TEST.TXT"  Sendet die Datei TEST.TXT über AUX:
  1328.  
  1329.  
  1330. 3.3.2.7  SS
  1331.  
  1332. SS <ss> {"EIN", "AUS", "SET"} [<baud>]
  1333.  
  1334. Der Befehl SS definiert, ob eine Überwachung einer Schnittstelle
  1335. erfolgen soll oder nicht. Wenn z.B. ein Terminalprogramm läuft, kann
  1336. der BavariaEventManager nicht gleichzeitig dieselbe Schnittstelle
  1337. überwachen, da sonst jedes Programm nur die Hälfte der Zeichen über
  1338. die Schnittstelle erhält.
  1339.  
  1340. Um nun gleichzeitig solche Programme laufen lassen zu können, muß beim
  1341. Start eines Terminalprogramms die Schnittstellenüberwachung des
  1342. BavariaEventManagers abgeschaltet werden.
  1343.  
  1344. SS AUX: AUS schaltet die Überwachung der AUX:-Schnittstelle aus und
  1345. SS AUX: EIN schaltet die Überwachung wieder ein.
  1346.  
  1347. Als <ss> sind die Schnittstellen AUX:, MIDI:, MODEM1:, MODEM2:,
  1348. SERIAL1: und SERIAL2: zugelassen.
  1349.  
  1350. ACHTUNG: Wird eine Schnittstelle zweimal ausgeschaltet, muß sie wieder
  1351. zweimal eingeschaltet werden, damit die Überwachung wieder aktiv wird.
  1352.  
  1353. Beim Kommando SS <ss> AUS wird die Baudrate der Schnittstelle ermit-
  1354. telt. Wird für die Schnittstelle später wieder das Kommando SS <ss>
  1355. EIN gegeben, so wird die vorher festgestellte Baudrate eingestellt.
  1356.  
  1357. Beim Einschalten kann explizit eine Baudrate angegeben werden, was
  1358. dann dazu führt, daß diese Baudrate anstatt der gemerkten Baudrate
  1359. gesetzt wird.
  1360.  
  1361. Das Setzen der Baudrate kann nur erfolgen, wenn entweder HSMODEM oder
  1362. MultiTOS installiert ist.
  1363.  
  1364. Um zum Ändern der Baudrate nicht ständig die Schnittstellen ein- und
  1365. ausschalten zu müssen, gibt es auch noch den folgenden Befehl:
  1366.  
  1367. SS <ss> SET <baudrate>
  1368.  
  1369. Damit wird sofort auf eine andere Schnittstellengeschwindigkeit
  1370. umgeschaltet. Dazu muß die Überwachung der Schnittstelle allerdings
  1371. bereits eingeschaltet sein. Als Nebenprodukt bei HSMODEM kann man mit
  1372. der folgenden Befehlsfolge das DTR-Signal des Modems droppen, damit es
  1373. auflegt:
  1374.  
  1375.  [poll-maus]
  1376.     PATH F:\CAT
  1377.     RUN F:\CAT\CAT.PRG CAT_LL.INF -iq
  1378.     SS MODEM2: AUS
  1379.     PATH F:\RUFUS.142
  1380.     RUN F:\RUFUS.142\RUFUS.APP RUF\LL.RUF
  1381.       ;jetzt dem Modem für 2 Sekunden DTR entziehen.
  1382.     SS MODEM2: EIN 0
  1383.     DELAY 2
  1384.       ;jetzt wieder auf alte Baudrate einstellen
  1385.     SS MODEM2: SET 76800
  1386.     IF (EXIST "F:\IMPORT\OUTFILE.TXT")
  1387.         PATH F:\CAT
  1388.         RUN F:\CAT\CAT.PRG CAT_LL.INF -oq
  1389.     ENDIF
  1390.  
  1391. Als Ergebnis liefert dieses Kommando den Text "EIN", wenn die Überwa-
  1392. chung der Schnittstelle eingeschaltet ist und "AUS", wenn nicht. In
  1393. numerischen Variablen wird die Anzahl der EIN- bzw. AUS-Kommandos
  1394. ausgegeben.
  1395.  
  1396. Alle Werte größer als 0 bedeuten, daß die Schnittstelle eingeschaltet
  1397. ist.
  1398.  
  1399. Der Wert/Text -15 bedeutet, daß die angesprochene Schnittstelle nicht
  1400. gefunden wurde.
  1401.  
  1402.  
  1403. 3.3.2.8  CLEAR
  1404.  
  1405. CLEAR <ss>
  1406.  
  1407. Löscht alle anstehenden Zeichen einer Schnittstelle. Als <ss> können
  1408. alle Schnittstellen angegeben werden, die auch beim Befehl SEND
  1409. beschrieben wurden.
  1410.  
  1411. Als Ergebnis liefert die Funktion "TRUE" bzw. 0, wenn die Funktion er-
  1412. folgreich ausgeführt wurde. Ist die Schnittstelle unbekannt, wird das
  1413. Ergebnis -15 geliefert.
  1414.  
  1415.  
  1416. 3.3.2.9  QUIT
  1417.  
  1418. QUIT
  1419.  
  1420. Dieser Befehl beendet den BavariaEventManager. So kann man den Manager
  1421. auch mit einem Ereignis beenden.
  1422.  
  1423. Diese Funktion liefert kein Ergebnis.
  1424.  
  1425.  
  1426. 3.3.2.10  SAVE_INF
  1427.  
  1428. SAVE_INF
  1429.  
  1430. Mit diesem Befehl wird die INF-Datei abgespeichert. Hiermit kann man
  1431. das Speichern auf eine Tastenkombination oder einen Button im Bavaria-
  1432. ButtonDialog legen.
  1433.  
  1434. Diese Funktion liefert "TRUE" bzw. 0, wenn das Sichern der INF-Datei
  1435. erfolgreich abgeschlossen wurde, sonst wird der Fehler -10 gemeldet.
  1436.  
  1437.  
  1438. 3.3.2.11  GONG
  1439.  
  1440. GONG
  1441.  
  1442. Gibt einen Aufmerksamkeitsgong aus.
  1443.  
  1444.  
  1445. 3.3.2.12  ALERT
  1446.  
  1447. ALERT <icon> "<text>" [<Buttontext>]
  1448.  
  1449. Dieser Befehl erzeugt eine ALERT-Box. Als Icon können Werte von 0 bis
  1450. 3 angegeben werden, wobei die Werte den verschiedenen Icons einer
  1451. ALERT-Box entsprechen (0=Kein Icon, 1=Ausrufezeichen, 2=Fragezeichen,
  1452. 3=Stopschild).
  1453.  
  1454. Der <text> wird selbst formatiert, wobei ein '|' im Text einen festen
  1455. Zeilenumbruch definiert. Der Text ist in Anführungsstrichen zu setzen.
  1456. Variablen können ebenfalls verwendet werden.
  1457.  
  1458. Bis zu drei Auswahlmöglichkeiten können ebenfalls definiert werden. Um
  1459. den Buttontext vom Meldungstext zu unterscheiden, sind die Buttontexte
  1460. in eckige Klammern zu setzen.
  1461.  
  1462. Ein zweiter Button wird durch einen "|" getrennt. Der erste Button ist
  1463. der Standardbutton, der durch RETURN ausgewählt werden kann.
  1464.  
  1465. Es ist dabei zu beachten, daß die Alertbox den Bildschirm sperrt. Es
  1466. ist dann keine Eingabe in andere Programme mehr möglich. Ist das nicht
  1467. gewünscht, so ist der Befehl INFO zu verwenden.
  1468.  
  1469. Als Ergebnis, wird der gedrückte Knopf zurückgeliefert. 1=Erster
  1470. Button, 2=zweiter Button und 3=dritter Button.
  1471.  
  1472.  Beispiel:
  1473.  
  1474.  [alarm]
  1475.     erg$ = PATH U:\DEV
  1476.     ALERT 1 "Das Ergebnis von PATH|war: ";erg$;"."
  1477.  
  1478.  [fehler]
  1479.     IF (EXIST "F:\IMPORT\OUTFILE.TXT")
  1480.         erg$ = ALERT 2 "Soll das Outfile eingefügt werden? [Ja|Nein]"
  1481.         IF (erg$ == 1)
  1482.             PATH F:\CAT
  1483.             RUN F:\CAT\CAT.PRG CAT.INF -oq
  1484.             AV-SENDKEY EVENTMAN "a"
  1485.         ENDIF
  1486.     ENDIF
  1487.  
  1488.  
  1489. 3.3.2.13  INFO
  1490.  
  1491. INFO <text>
  1492.  
  1493. Dieser Befehl läuft ähnlich dem Befehl ALERT ab. Es wird ein Fenster
  1494. geöffnet, in das maximal 6 Zeilen á 50 Zeichen Text eingetragen werden
  1495. können. Beachten Sie aber auch, daß eine Zeile der AKTION.DAT nur
  1496. maximal 254 Zeichen lang werden darf.
  1497.  
  1498. Im Gegensatz zu ALERT wird auf keine Bestätigung gewartet. Der Benut-
  1499. zer kann das Fenster wieder schließen und erneut öffnen, damit er die
  1500. letzte Meldung sieht. Die Überwachung läuft weiter.
  1501.  
  1502. Der <text> wird selbst formatiert, wobei ein '|' im Text einen festen
  1503. Zeilenumbruch definiert.
  1504.  
  1505. In der Datei EVENTMAN.INF kann eingestellt werden, wie viele INFO-
  1506. Meldungen im Speicher verbleiben. Standardmäßig steht der Wert auf 5,
  1507. so daß man sich die letzten 5 INFO-Meldungen anschauen kann.
  1508.  
  1509. Diese Meldungen werden in der Datei INFO.DAT gesichert, so daß sie
  1510. auch nach einem Ausschalten des Rechners immer noch zur Verfügung
  1511. stehen.
  1512.  
  1513.  Beispiel:
  1514.  
  1515.   [st-guide]
  1516.     IF (AKTIV "ST-GUIDE")
  1517.         VA-START ST-GUIDE *:\BEM.HYP AKTIV
  1518.     ELSE
  1519.         INFO "Der ST-GUIDE ist leider nicht installiert."
  1520.     ENDIF
  1521.  
  1522. Hier wird untersucht, ob der ST-GUIDE geladen ist und wenn dies nicht
  1523. der Fall ist (ELSE-Zweig), dann wird eine INFO-Meldung ausgegeben,
  1524. ohne daß andere Programme behindert werden.
  1525.  
  1526.  
  1527. 3.3.2.14  DISABLE
  1528.  
  1529. DISABLE <nr> / ENABLE <nr>
  1530.  
  1531. Mit diesen zwei Befehlen können die Mausbuttons konfiguriert werden.
  1532. Die Knöpfe im Buttondialog sind von 1 bis 64 durchnumeriert. Mit
  1533. DISABLE 12 kann man somit den zwölften Knopf auf "nicht anwählbar"
  1534. setzen. ENABLE bewirkt exakt das Gegenteil. Der Knopf wird wieder
  1535. anwählbar geschaltet.
  1536.  
  1537. Es können ebenfalls Bereiche angegeben werden. DISABLE 9-16 sperrt die
  1538. Knöpfe 9, 10, 11, 12, 13, 14, 15 und 16. Es ist lediglich das "-"
  1539. Zeichen im Sinne "von bis" erlaubt.
  1540.  
  1541.  Beispiel:
  1542.  
  1543.  [Knopf]
  1544.     disable 1-5
  1545.     enable 7
  1546.  
  1547.  
  1548. 3.3.2.15  DELAY
  1549.  
  1550. DELAY <sek>
  1551.  
  1552. Dieser Befehl bewirkt, daß während einer vorgegebenen Zeit keine
  1553. Aktion ausgeführt wird. Die Zeit wird in Sekunden angegeben.
  1554.  
  1555. Im Statusfenster wird als Hinweis ">>> DELAY bis" ausgegeben und
  1556. darunter die Zeit, bis zu der der DELAY aktiv ist. Es bleiben zwar
  1557. alle Fenster bedienbar, auch werden die Redraws gemacht, allerdings
  1558. ist keine normale Bedienung über die Fenster mehr möglich. Es kann nur
  1559. noch die Menüleiste verwendet werden.
  1560.  
  1561. Wenn die Zeit abgelaufen ist, wird die angefangene Aktion
  1562. weitergeführt.
  1563.  
  1564.  
  1565. 3.3.2.16  VOLUME
  1566.  
  1567. VOLUME {L=<left> R=<right>, <laut>}
  1568.  
  1569. Dieser Befehl kann nur auf einem DMA-Sound-Subsystem (STE, TT oder
  1570. Falcon) ausgeführt werden. Ohne die DMA-Soundmöglichkeit wird ledig-
  1571. lich eine ALERT-Box ausgegeben, die darauf hinweist, daß dieser Befehl
  1572. hier nicht verwendet werden kann.
  1573.  
  1574. Man kann die Lautstärke des Soundsystems einstellen, indem man ent-
  1575. weder getrennt für links und rechts die Lautstärke angibt, oder nur
  1576. einen Wert, der dann für beide Kanäle eingestellt wird.
  1577.  
  1578. Will man die Lautstärke getrennt einstellen, muß man die Kennungen
  1579. "L=" und "R=" verwenden. Die Angaben für <left>, <right> oder <laut>
  1580. können in einen Bereich von 0 bis 15 (beim TT: 0-20) angegeben werden,
  1581. wobei 15 (20) ganz laut bedeutet.
  1582.  
  1583. Die Zahlenangaben müssen direkt ohne Leerzeichen hinter dem '='
  1584. stehen, sonst werden die Werte nicht erkannt.
  1585.  
  1586.  Beispiel:
  1587.  
  1588.   [leise]
  1589.     VOLUME L=2 R=7
  1590.   [laut]
  1591.     VOLUME 15
  1592.  
  1593.  
  1594. 3.3.2.17  PNICE
  1595.  
  1596. PNICE <prio>
  1597.  
  1598. Dieser Befehl ist nur unter MultiTOS einsetzbar. Er verändert die
  1599. Priorität des BavariaEventManagers. Die Priorität ist als Differenz zu
  1600. sehen, wobei ein negativer Wert die Priorität erhöht.
  1601.  
  1602.  Beispiel:
  1603.  
  1604.   [Prog]
  1605.     PNICE -20
  1606.  
  1607.  
  1608. 3.3.2.18  DIM
  1609.  
  1610. DIM <variable>
  1611.  
  1612. Dieser Befehl definiert eine Ganzzahl-Variable oder eine String-
  1613. Variable. Außerdem wird bei einer Stringvariablen die Länge des
  1614. Strings festgelegt.
  1615.  
  1616. Der Name der Variablen ist beliebig, jedoch werden Groß- und Klein-
  1617. buchstaben unterschieden. Es ist also auf die Schreibweise des Variab-
  1618. lennamens zu achten. Es sind maximal 9 Zeichen für einen Variab-
  1619. lennamen erlaubt.
  1620.  
  1621. Um eine normale Ganzzahl-Variable zu erzeugen, ist der Befehl "DIM
  1622. wert" zu verwenden. Dadurch wird die Variable "wert" erzeugt. Eine
  1623. mehrdimensionale Ganzzahlvariable ist nicht möglich.
  1624.  
  1625. Um eine String-Variable zu erzeugen, muß der $ angegeben werden und
  1626. die Länge der Variablen. "DIM text$(20)" erzeugt eine Variable "text$"
  1627. mit einer maximalen Länge von 20 Zeichen. Wird die Länge des Strings
  1628. nicht angegeben, werden 20 Bytes reserviert.
  1629.  
  1630. Es können in einer DIM-Zeile auch mehrere, durch "," getrennte Variab-
  1631. len initialisiert werden. "DIM a,b,c,text1$(10),text2$(20)" reserviert
  1632. Platz für drei Ganzzahlvariablen und zwei Stringvariablen.
  1633.  
  1634. Der DIM-Befehl sollte im Ereignis "_Programmstart" stehen, damit die
  1635. Variablen nur einmal reserviert werden. Wird eine Variable ein zweites
  1636. Mal reserviert, erscheint eine Fehlermeldung.
  1637.  
  1638.  Beispiel:
  1639.  
  1640.   [_Programmstart]
  1641.     DIM erg
  1642.  
  1643.   [aktion]
  1644.     erg = EXIST "NEWDESK.INF"
  1645.  
  1646.  
  1647. 3.3.2.19  SET
  1648.  
  1649. SET <variable> <inhalt>
  1650.  
  1651. Setzt die Variable auf einen bestimmten Wert. Als Wert kann eine
  1652. Textfolge oder eine andere Variable oder ein Gemisch aus beiden
  1653. angegeben werden.
  1654.  
  1655. SET text$ "ACHTUNG die Datei ";datei$;" ist nicht vorhanden." erzeugt
  1656. in der Variablen text$ die Summe aus den beiden Texten und dem Inhalt
  1657. der Variablen datei$.
  1658.  
  1659. Eine numerische Variable wird mit SET ebenfalls auf einen Wert ge-
  1660. setzt. Derzeit können numerische Variablen lediglich für Texte verwen-
  1661. det werden. Rechenformeln, wie + - * / sind derzeit nicht möglich.
  1662.  
  1663.   Beispiel:
  1664.  
  1665.   [_Programmstart]
  1666.     DIM aufruf$(120)
  1667.   [aktion]
  1668.     SET aufruf$ "D:\EVEREST\EVEREST.PRG "
  1669.     SET wert 10
  1670.  
  1671.  
  1672. 3.3.2.20  FSELECT
  1673.  
  1674. FSELECT <text>
  1675.  
  1676. Dieser Befehl ruft die Fileselektorbox auf und gibt als Titel den
  1677. "text" aus. Als Ergebnis wird der ausgewählte komplette Dateiname
  1678. geliefert oder ein leerer Text, wenn Abbruch angeklickt wurde.
  1679.  
  1680. Dadurch kann der Benutzer eine Datei auswählen, mit der man dann einen
  1681. Editor aufruft.
  1682.  
  1683.  Beispiel:
  1684.  
  1685.   [_Programmstart]
  1686.     DIM datei$(128)
  1687.   [aktion]
  1688.     datei$ = FSELECT "Eingabedatei auswählen"
  1689.     RUN "C:\EVEREST\EVEREST.PRG ";datei$
  1690.  
  1691.  
  1692. 3.3.2.21  MIDI-COM
  1693.  
  1694. MIDI-COM {<rechner> <befehl>}
  1695.  
  1696. Erkennt das Programm, daß Midi-COM installiert ist, so meldet sich der
  1697. BavariaEvenManager als "EVENTMAN" mit einer Buffergröße von 4000 Bytes
  1698. an. Dadurch ist es möglich, Befehle von einem BEM zum anderen zu
  1699. schicken, wenn der BavariaEventManager auf mehreren Rechnern im MIDI-
  1700. Netzwerk installiert ist.
  1701.  
  1702. Dazu dient der Befehl MIDI-COM. Es werden definierten anderen Rechnern
  1703. im Netz Befehle übermittelt. Diese Befehle werden dann ausgeführt. So
  1704. ist es nun möglich ein Druckprogramm auf einem anderen Rechner eine
  1705. Datei auf dem eigenen Rechner ausdrucken zu lassen.
  1706.  
  1707. Als Rechner muß entweder die logische Nummer angegeben werden oder der
  1708. definierte Name des Rechners, auf dem der Befehl ausgeführt werden
  1709. soll.
  1710.  
  1711. Wird als Name "-1" angegeben, so wird die Nachricht an alle Rechner im
  1712. Ring verschickt.
  1713.  
  1714.   Beispiel:
  1715.  
  1716.   [_Programmstart]
  1717.     DIM datei$(128)
  1718.   [aktion]
  1719.     datei$ = FSELECT "Druckdatei wählen"
  1720.     MIDI-COM MEGA-ST "RUN C:\EVEREST\EVEREST.PRG N:\FALCON\";datei$
  1721.  
  1722.  
  1723. 3.3.2.22  EXIST
  1724.  
  1725. EXIST <datei>
  1726.  
  1727. Dieser Befehl sucht eine Datei und liefert als Ergebnis entweder 0
  1728. ("TRUE") dafür, daß die Datei vorhanden ist, oder eine negative Zahl,
  1729. wenn die Datei nicht gefunden wurde.
  1730.  
  1731. Er ist eigentlich nur sinnvoll für bedingte Ausführung (IF ELSE).
  1732.  
  1733.  Beispiel:
  1734.  
  1735.   [aktion]
  1736.     IF (EXIST "F:\IMPORT\OUTFILE.TXT")
  1737.         RUN C:\CAT\CAT.PRG -oq
  1738.     ENDIF
  1739.  
  1740. Cat wird nur dann aufgerufen, um ein Outfile einzusortieren, wenn das
  1741. das Outfile auch tatsächlich vorhanden ist.
  1742.  
  1743.  
  1744. 3.3.2.23  IF
  1745.  
  1746. IF (Bedingung) <befehle> ELSE <befehle> ENDIF
  1747.  
  1748. Mit den Befehlen IF ELSE ENDIF kann man eine bedingte Ausführung
  1749. erzwingen. Hinter IF muß in Klammern die Bedingung stehen.
  1750.  
  1751.      Als Vergleichsoperanden sind erlaubt:
  1752.         ==          gleich;
  1753.         != oder <>  ungleich;
  1754.         <           kleiner;
  1755.         >           größer;
  1756.         <=          kleiner gleich und
  1757.         >=          größer gleich.
  1758.  
  1759. Wird keine Bedingung angegeben, wird auf TRUE getestet. IF (EXIST
  1760. "C:\NEWDESK.INF") bedeutet also, daß der IF-Teil nur dan ausgeführt
  1761. wird, wenn eine Datei C:\NEWDESK.INF vorhanden ist.
  1762.  
  1763. Zu jedem IF muß ein ENDIF in einer eigenen Zeile existieren.
  1764.  
  1765. Jedes IF kann auch einen ELSE - Teil besitzen, der dann ausgeführt
  1766. wird, wenn die Bedingung nicht zutrifft.
  1767.  
  1768. Es können beliebig viele Befehle zwischen dem IF und dem (ELSE) ENDIF
  1769. stehen. Geschachtelte IFs sind ebenfalls erlaubt.
  1770.  
  1771.  
  1772. 3.3.2.24  PROTOKOLL
  1773.  
  1774. PROTOKOLL <Dateiname> {E[IN], A[US], L[ÖSCHEN], S[CHREIBEN] <Text>}
  1775.  
  1776. Der Befehl PROTOKOLL dient zur leichteren Fehlersuche.
  1777.  
  1778.  PROTOKOLL <..> EIN         startet das Protokollieren. Es wird im
  1779.                             Protokollverzeichnis eine Datei angelegt,
  1780.                             in der während des Programmlaufs
  1781.                             mitgeschrieben wird, welcher Befehl zu
  1782.                             welcher Zeit ausgeführt wird.
  1783.  
  1784.  PROTOKOLL AUS              schaltet die Protokollierung wieder aus.
  1785.                             Beim Programmstart ist die Protokollierung
  1786.                             generell ausgeschaltet.
  1787.  
  1788.  PROTOKOLL LÖSCHEN          löscht die Protokolldateien aus dem
  1789.                             Ordner.
  1790.  
  1791.  PROTOKOLL SCHREIBEN <Text> Schreibt den Text in das Protokollfile.
  1792.  
  1793. Da das Protokollfile bei längerer Laufzeit sehr schnell an Größe
  1794. gewinnt, sollte die Protokollfunktion nur zu Fehlersuchzwecken benutzt
  1795. werden, um einen Festplattenüberlauf zu verhindern.
  1796.  
  1797. In der Datei EVENTMAN.INF kann der Name der Protokolldatei selber de-
  1798. finiert werden. Die Dateiendung ist immer ".PRO" und darf nicht mit
  1799. angegeben werden. Die Protokolldatei wird im EVENTMAN.DAT-Ordner
  1800. angelegt.
  1801.  
  1802. Der Dateiname kann fast vollkommen frei definiert werden. Entweder
  1803. nimmt man einen festen Dateinamen, z.B. PROTOKOLL, oder einen flexi-
  1804. blen Dateinamen, wobei folgende Kürzel erlaubt sind:
  1805.  
  1806.  %a abgekürzter Wochentag
  1807.  %A ausgeschriebener Wochentag
  1808.  %b abgekürzter Monatsname
  1809.  %B voller Monatsname
  1810.  %c Datum und Uhrzeit
  1811.  %d Tag im Monat (1-31)
  1812.  %H Stunde (0-23)
  1813.  %I Stunde (0-12)
  1814.  %j Tag im Jahr (1-366)
  1815.  %m Monat (1-12)
  1816.  %M Minute (00-59)
  1817.  %p AM/PM%S Sekunde (00-59)
  1818.  %w Wochentag (0-6)
  1819.  %W Woche im Jahr (0-52)
  1820.  %x lokale Datumsdarstellung
  1821.  %X lokale Zeit-Darstellung
  1822.  %y Jahr ohne Jahrhundert (0-99)
  1823.  %Y Jahr mit Jahrhundertangabe
  1824.  %Z Name der Zeitzone (z.B. MEZ)
  1825.  %% das »%«-Zeichen
  1826.  
  1827. Der Dateiname kann maximal 59 Zeichen lang sein. Es können auch
  1828. weitere Ordnerebenen definiert werden, wobei dann der Ordner vorher
  1829. angelegt werden muß. Ein Löschen der Protokolldateien funktioniert
  1830. derzeit nur, wenn die Dateien nicht in einem Unterverzeichnis liegen.
  1831.  
  1832. Beispiel:
  1833.  
  1834. ProFileMask: protokolle\%y-%A\%j
  1835.  
  1836.  
  1837. 3.3.2.25  AKTIV
  1838.  
  1839. AKTIV <prog>
  1840.  
  1841. Der Befehl AKTIV dient zur Kontrolle, ob ein bestimmtes Programm
  1842. bereits geladen ist. Damit läßt sich kontrollieren, ob CAT bereits
  1843. läuft, bevor man CatPutz startet, da dies zu einer Fehlermeldung
  1844. führen würde.
  1845.  
  1846. Ebenso lassen sich so auch ACCs erkennen. Der Befehl dient lediglich
  1847. zur Flußsteuerung der Aktionen.
  1848.  
  1849. Als <prog> muß der Programmname ohne die Endung angegeben werden,
  1850. sonst wird das Programm nicht gefunden.
  1851.  
  1852. In nachfolgendem Beispiel wird der ST-GUIDE aufgerufen und aus dem
  1853. Hypertext BEM.HYP der Eintrag "AKTIV" angezeigt.
  1854.  
  1855. Ist der ST-GUIDE nicht geladen, dann wird der INFO-Befehl ausgeführt.
  1856.  
  1857.  Beispiel:
  1858.  
  1859.  [hilfe]
  1860.     IF (AKTIV "ST-GUIDE")
  1861.         VA-START ST-GUIDE *:\BEM.HYP AKTIV
  1862.     ELSE
  1863.         INFO "Der ST-GUIDE ist leider nicht installiert!"
  1864.     ENDIF
  1865.  
  1866.  
  1867. 3.3.2.26  VA-START
  1868.  
  1869. VA-START <prog> <par>
  1870.  
  1871. Der Befehl VA-START dient dazu, ACCs oder bereits laufenden Applikati-
  1872. onen Parameter zu übergeben. Das Programm muß allerdings dazu in der
  1873. Lage sein, das Protokoll zu verstehen. Für Programmierer: Es wird die
  1874. Nachricht VA_START aus dem AV-Protokoll gesendet.
  1875.  
  1876. Dadurch kann einem Editor z.B. die Aufgabe gegeben werden, eine
  1877. weitere Datei zu laden, oder GEM-VIEW zeigt ein weiteres Bild an.
  1878.  
  1879. Man kann nun mit einer Tastenkombination im ST-GUIDE eine ganz be-
  1880. stimmte Stelle anspringen oder GSZRZ zum Up-/Downladen einer Datei
  1881. animieren.
  1882.  
  1883. Als <prog> muß der Programmname ohne die Endung angegeben werden,
  1884. sonst wird das Programm nicht gefunden. Unter <par> sind die Parameter
  1885. anzugeben, die bei einem normalen Programmstart angegeben würden.
  1886.  
  1887. Bei diesem Befehl ist es nicht möglich, auf das Ende der Applikation
  1888. zu warten, da dies nicht signalisiert wird. Der Befehl ist also ähn-
  1889. lich dem Befehl "EXEC" zu sehen.
  1890.  
  1891. Werden zwei Befehle VA-START schnell hintereinander ausgeführt, dann
  1892. kann es vorkommen, daß der statische Speicherbereich für die Parameter
  1893. bereits vom neuen Befehl überschrieben wurde. Daher sollte darauf
  1894. geachtet werden, daß zwischen zwei VA-START-Befehlen eine Pause von
  1895. mindestens 2 Sekunden ist.
  1896.  
  1897.  Beispiel:
  1898.  
  1899.  [hilfe]
  1900.     IF (AKTIV "ST-GUIDE")
  1901.         VA-START ST-GUIDE *:\BEM.HYP AKTIV
  1902.     ELSE
  1903.         INFO "Der ST-GUIDE ist leider nicht installiert!"
  1904.     ENDIF
  1905.  
  1906.  
  1907. 3.3.2.27  WINDOW
  1908.  
  1909. WINDOW <fenster> {"O[PEN]", "C[LOSE]"}
  1910.  
  1911. Dieser Befehl dient dazu, daß automatisch die Fenster des Bavaria-
  1912. EventManagers geöffnet oder geschlossen werden können.
  1913.  
  1914. Es wurde ganz bewußt nur eine Tastenkombination fest im Programm
  1915. kodiert und das ist CNTRL-Q zum Beenden des Programms. Man kann sich
  1916. durch den Befehl WINDOW selbst eine Tastaturkombination festlegen, um
  1917. die Fenster des BEM zu öffnen oder zu schließen.
  1918.  
  1919. Für <fenster> sind folgende Angaben zulässig:
  1920.  
  1921.  H oder HAUPT    gibt das Registrier-Fenster an
  1922.  S oder STATUS   gibt das Statusfenster an
  1923.  M oder MAUS     gibt das Fenster für die Maustasten an
  1924.  K oder KALENDER gibt das Fenster für den Kalender an
  1925.  I oder INFO     gibt das Infofenster an
  1926.  T oder TOP      steht für das oberste Fenster
  1927.  
  1928.  
  1929. Die Angabe TOP ermittelt automatisch das oberste Fenster des Bavaria-
  1930. EventManagers und wendet den entsprechenden Befehl darauf an. Somit
  1931. ist es nur sinnvoll, wenn man "WINDOW TOP CLOSE" verwendet. Der Befehl
  1932. WINDOW TOP OPEN ist ohne Wirkung, da das oberste Fenster ja bereits
  1933. geöffnet ist.
  1934.  
  1935. Wird WINDOW <fenster> OPEN auf ein bereits geöffnetes Fenster ange-
  1936. wandt, wird dieses in den Vordergrund geholt und oberstes Fenster.
  1937.  
  1938.  Beispiel:
  1939.  
  1940.  [close-top]
  1941.     WINDOW TOP CLOSE
  1942.  [close-info]
  1943.     window i c
  1944.  
  1945.  
  1946. 3.3.2.28  GOTO
  1947.  
  1948. GOTO { <aktion> , <Aktionsfile> }
  1949.  
  1950. Mit dem Befehl GOTO wird direkt eine andere Aktion gestartet. Dabei
  1951. werden alle IF-Schleifen verlassen. Ein Rücksprung in die laufende
  1952. Aktion ist nicht möglich.
  1953.  
  1954. Es kann auch ein Aktionsfile angegeben werden, das lediglich aus
  1955. Befehlen besteht. Dieses Aktionsfile, das auch beim Programmstart
  1956. direkt übergeben werden kann, darf keine Aktionsnamen beinhalten!
  1957.  
  1958. Zuerst wird versucht, ein Aktionsfile zu öffnen. Wird dieses nicht
  1959. gefunden, dann wird die Aktion innerhalb der Datei AKTION.DAT gesucht
  1960. und diese Aktion ausgeführt.
  1961.  
  1962. Der Befehl GOTO ermöglicht in Verbindung mit MIDI-COM, daß auf einem
  1963. anderen Rechner eine ganze Aktion und nicht nur ein Befehl ausgeführt
  1964. werden kann. Selbstverständlich geht beides auch kombiniert.
  1965.  
  1966.  Beispiel:
  1967.  
  1968.  [Midi-Poll]
  1969.     MIDI-COM FALCON "INFO \"Jetzt mußt Du aber mal Pollen!\""
  1970.     MIDI-COM FALCON "GOTO Poll-ASH"
  1971.     MIDI-COM FALCON "INFO \"Ab sofort läuft die Aktion auf Deinem
  1972.     Rechner!\""
  1973.     GOTO F:\BEM\EVENTMAN.DAT\HINWEIS.BEM
  1974.  
  1975. Auf dem anderen Rechner muß dann in der AKTION.DAT die Aktion "Poll-
  1976. ASH" natürlich auch vorhanden sein!
  1977.  
  1978. Mit der 4. Zeile wird auf dem eigenen Rechner die Datei HINWEIS.BEM
  1979. als Aktionsdatei gestartet.
  1980.  
  1981.  
  1982. 3.3.2.29  SKIP
  1983.  
  1984. SKIP <aktion> [<zeit>]
  1985.  
  1986. Es werden die Timerereignisse durchsucht, ob innerhalb der nächsten
  1987. <zeit> ein Timerereignis auftritt, das die Aktion <aktion> auslöst.
  1988. Ist dies der Fall, wird das Timerereignis so weit verschoben, bis es
  1989. außerhalb der <zeit> liegt.
  1990.  
  1991. Ist <zeit> nicht angegeben, wird das nächste Ereignis <aktion> genau
  1992. einmal verschoben.
  1993.  
  1994.  Beispiele:
  1995.  
  1996.  [poll-maus-button]
  1997.     PATH F:\CAT
  1998.     RUN F:\CAT\CAT.PRG CAT_LL.INF -iq
  1999.     PATH F:\RUFUS.142
  2000.     RUN F:\RUFUS.142\RUFUS.APP RUF\LL.RUF
  2001.     IF (EXIST "F:\IMPORT\OUTFILE.TXT")
  2002.         PATH F:\CAT
  2003.         RUN F:\CAT\CAT.PRG CAT_LL.INF -oq
  2004.         SKIP poll-maus
  2005.     ENDIF
  2006.  
  2007. Damit wird der MausTausch von Hand (als Button- oder Keybord-Event)
  2008. gestartet. Bei erfolgreichem Tausch, also wenn ein OUTFILE.TXT (.ZIP,
  2009. .LZH, je nach Packer) vorliegt, wird das nächste Timerereignis "poll-
  2010. maus" um ein Intervall verschoben. Damit die Abfrage sinnvoll ist, muß
  2011. natürlich das Outfile nach dem Einfügen oder vor dem Tausch gelöscht
  2012. werden.
  2013.  
  2014.  [Catputz]
  2015.     SKIP Catputz 4t
  2016.     PATH f:\cat
  2017.     RUN  f:\cat\catputz.prg
  2018.  
  2019. Verschiebt Catputz so weit, daß es innerhalb der nächsten 4 Tage nicht
  2020. mehr aktiviert wird.
  2021.  
  2022. <zeit> ohne Einheit oder "m" sind Minuten, "h" Stunden und "t" Tage.
  2023.  
  2024. Beispiele:
  2025.  
  2026.  4h -> 4 Stunden
  2027.  5t -> 5 Tage
  2028.  7m -> 7 Minuten
  2029.  7  -> 7 Minuten
  2030.  
  2031. Um Probleme zu vermeiden, sollten Einstellungen wie
  2032.  
  2033.  [test]
  2034.     skip test
  2035.     info "Das ist ein Krampf!"
  2036.  
  2037. vermieden werden. Dadurch würde die Aktion bei jeder Ausführung
  2038. verschoben und fände nur jedes zweite Mal statt.
  2039.  
  2040.  
  2041. 3.3.2.30  PLAY-KEY
  2042.  
  2043. PLAY-KEY <Tastatureingabe>
  2044.  
  2045. Dieser Befehl spielt dem System Tastatureingaben vor. Als
  2046. <Tastatureingabe> sind die dort beschriebenen Zeichen erlaubt.
  2047.  
  2048. Dieser Befehl bewirkt, daß die Tastatureingaben dem obersten Programm
  2049. gemeldet werden. Eventuell ist dafür zu sorgen, daß ein Programm das
  2050. oberste Programm ist, dazu dient der Befehl TOP.
  2051.  
  2052. Zwischen den einzelnen Tastendrücken wird eine definierte Wartezeit
  2053. eingelegt, damit das Programm diese Tastatureingaben auch verarbeiten
  2054. kann.
  2055.  
  2056. Diese Zeit wird in der EVENTMAN.INF mit dem Parameter KeyDelayTim: de-
  2057. finiert. Der Standardwert ist 200, die Angabe erfolgt in
  2058. Millisekunden.
  2059.  
  2060. Beispiel:
  2061.  
  2062.  PLAY-KEY "<C|N>Diese Datei wurde neu angelegt!<C|S>"
  2063.  
  2064.  
  2065. 3.3.2.31  TOP
  2066.  
  2067. TOP <Programm>
  2068.  
  2069. Sorgt dafür, daß das <Programm> an oberster Stelle erscheint und somit
  2070. die Tastatureingaben erhält. (Es ist zu beachten, daß neu geöffnete
  2071. Fenster diese Reihenfolge durcheinanderbringen!)
  2072.  
  2073. Als <Programm> ist der Dateiname des Programmes ohne Extension zu ver-
  2074. wenden.
  2075.  
  2076. Unter Magic wird das interne Protokoll verwendet.
  2077.  
  2078. Unter Mint ist es notwendig, daß ein Fenster des Programms geöffnet
  2079. ist, so daß dieses getoped werden kann.
  2080.  
  2081. Beispiel:
  2082.  
  2083.  TOP "EVEREST"
  2084.  
  2085.  
  2086. 3.3.2.32  AV-SENDKEY
  2087.  
  2088. AV-SENDKEY <Programm> <Tastatureingabe>
  2089.  
  2090. Dieser Befehl schickt dem <Programm> die <Tastatureingabe> mit dem AV-
  2091. SENDKEY-Protokoll. Dieses Protokoll funktioniert nur, wenn das Pro-
  2092. gramm dies auch unterstützt. Der Fileselektor zum Beispiel kann damit
  2093. nicht bedient werden!
  2094.  
  2095. Der Vorteil dieses Befehls gegenüber dem PLAY-KEY-Befehl ist der, daß
  2096. das Programm, an das die Zeichen geschickt werden, nicht das oberste
  2097. Fenster besitzen muß.
  2098.  
  2099. Als <Programm> ist der Dateiname des Programmes ohne Extension zu ver-
  2100. wenden. Als <Tastatureingabe> sind die dort beschriebenen Zeichen
  2101. erlaubt.
  2102.  
  2103. Zwischen den einzelnen Tastendrücken wird eine definierte Wartezeit
  2104. eingelegt, damit das Programm diese Tastatureingaben auch verarbeiten
  2105. kann.
  2106.  
  2107. Diese Zeit wird in der EVENTMAN.INF mit dem Parameter KeyDelayTim: de-
  2108. finiert. Der Standardwert ist 200, die Angabe erfolgt in
  2109. Millisekunden.
  2110.  
  2111. Selbstverständlich kann man dem EVENTMAN selber auch per AV-SENDKEY
  2112. ein paar Tastendrücke zukommen lassen.
  2113.  
  2114. Beispiel:
  2115.  
  2116.  AV-SENDKEY "CAT" "<C|O>"
  2117.  DELAY 2
  2118.  AV-SENDKEY "CAT" "<CDown>V"
  2119.  
  2120. Öffnet die Nachrichtenauswahl, selektiert eine Mail und zeigt diese
  2121. an.
  2122.  
  2123.  
  2124. 3.3.2.33  EXIT
  2125.  
  2126. EXIT <Programm>
  2127.  
  2128. Schickt dem <Programm> eine Shutdown-Nachricht, damit es sich beenden
  2129. soll.
  2130.  
  2131. Der Erfolg kann nicht kontrolliert werden! Es ist vom Programm
  2132. abhängig, ob es sich beendet oder nicht!
  2133.  
  2134. Als <Programm> ist der Dateiname des Programmes ohne Extension zu ver-
  2135. wenden.
  2136.  
  2137. Beispiel:
  2138.  
  2139.  EXIT "COMA"
  2140.  
  2141.  
  2142. 3.3.2.34  KILL
  2143.  
  2144. KILL <Programm>
  2145.  
  2146. Wirft das <Programm> aus dem Speicher. Unter MagiC wird das MagiC-
  2147. interne Protokoll verwendet. Unter Mint wird die Datei
  2148. U:\PROC\<programm>.* gelöscht.
  2149.  
  2150. Es werden keine Daten mehr gesichert, das Programm wird hart entfernt!
  2151.  
  2152. Als <Programm> ist der Dateiname des Programmes ohne Extension zu ver-
  2153. wenden.
  2154.  
  2155. Beispiel:
  2156.  
  2157.  KILL "UPOINT"
  2158.  
  2159.  
  2160. 3.3.2.35  SOMMERZEIT
  2161.  
  2162. SOMMERZEIT { "EIN", "AUS" }
  2163.  
  2164. Das Kommando stellt die interne GEMDOS-Uhr jweils auf die Sommerzeit
  2165. oder Winterzeit um.
  2166.  
  2167. SOMMERZEIT EIN erhöht die Uhrzeit um 1 Stunde
  2168. SOMMERZEIT AUS erniedrigt die Uhrzeit um 1 Stunde
  2169.  
  2170. Der BavarieEventManager merkt sich nicht, ob die Sommerzeit bereits
  2171. eingeschaltet war oder nicht. Wird der Befehl SOMMERZEIT EIN zweimal
  2172. hintereinander aufgerufen, dann wird die Uhr um 2 Stunden vorgestellt!
  2173.  
  2174. Als Ergebnis wird die Anzahl der Sekunden seit 00:00:00 geliefert.
  2175.  
  2176.  
  2177. 3.3.2.36  <Tastatureingabe>
  2178.  
  2179. <Tastatureingabe>
  2180.  
  2181. Für die <Tastatureingabe> bei den Befehlen PLAY-KEY und AV-SENDKEY
  2182. sind alle Zeichen außer "<" erlaubt.
  2183.  
  2184. Soll zu einem Zeichen Shift, Control oder Alternate zusätzlich
  2185. gedrückt werden, so ist folgender Ersatz dafür zu verwenden:
  2186.  
  2187. <...Zusatztasten...|...Normaltaste...>
  2188.  
  2189. Die Zusatztasten werden folgendermaßen abgekürzt:
  2190.  
  2191.  S = Shift (links)
  2192.  L = Shift links
  2193.  R = Shift rechts
  2194.  C = Control
  2195.  A = Alternate
  2196.  
  2197. Die Zusatzzeichen können auch zusammen verwendet werden: <CA|F>
  2198. bedeutet, daß Control + Alternate gleichzeitig mit der Taste "F"
  2199. simuliert werden sollen.
  2200.  
  2201. Als Normaltaste ist jedes ASCII-Zeichen erlaubt, mit Ausnahme von ">".
  2202.  
  2203. Sollen als Normaltaste die Sondertasten verwendet werden, so sind
  2204. diese mit mindestens zwei Buchstaben zu beschreiben. Folgende
  2205. Sondertasten sind möglich:
  2206.  
  2207.  ES = Esc
  2208.  TA = Tab
  2209.  BA = Backspace
  2210.  DE = Delete
  2211.  HE = Help
  2212.  UN = Undo
  2213.  IN = Insert
  2214.  CH = ClearHome
  2215.  CU = Cursor up (Pfeil nach oben)
  2216.  CL = Cursor left (Pfeil nach links)
  2217.  CD = Cursor down (Pfeil nach unten)
  2218.  CR = Cursor right (Pfeil nach rechts)
  2219.  EN = Enter (auf der Zahlentastatur)
  2220.  RE = Return (auf der Haupttastatur)
  2221.  F1 = Funktionstaste 1...
  2222.  F9 = Funktionstaste 9
  2223.  F0 = Funktionstaste 10
  2224.  
  2225. Beispiel:
  2226.  
  2227.  <CA|Enter>
  2228.  
  2229. Bewirkt, daß die Entertaste der Zahlentastatur gleichzeitig mit
  2230. Control und Alternate simuliert wird.
  2231.  
  2232.  
  2233. 3.3.3  Variablen
  2234. ----------------
  2235.  
  2236. Variablen
  2237.  
  2238. Zur flexibleren Gestaltung der Ereignisse wurden nun auch Variablen
  2239. eingeführt. Nachfolgend sind ein paar Sätze aufgeführt, die bei der
  2240. Verwendung von Variablen beachtet werden sollten.
  2241.  
  2242.    ∙ Es können nur eindimensionale Wertvariablen und beliebig lange
  2243.      Stringvariablen definiert werden.
  2244.  
  2245.    ∙ Es können beliebig viele Variablen verwendet werden.
  2246.  
  2247.    ∙ Die Variablennamen sind maximal 9 Stellen lang.
  2248.  
  2249.    ∙ Eine String-Variable endet immer mit einem $.
  2250.  
  2251.    ∙ Die Variablen sind immer global, das heißt, werden diese in ihrem
  2252.      Wert von einem Ereignis verändert, haben sie auch in einem
  2253.      anderen Ereignis den neuen Wert.
  2254.  
  2255.    ∙ Um Variablen zu verwenden, müssen sie zuerst dimensioniert
  2256.      werden.
  2257.  
  2258.    ∙ Variablen können in Befehlen beliebig als Eingabewerte und als
  2259.      Ergebniswerte verwendet werden.
  2260.  
  2261.    ∙ String-Variableninhalte kann man mit einem ; zu längeren Texten
  2262.      zusammenketten. Angenommen die Variable text1$ hat den Wert
  2263.      "Michael" und die Variable text2$ hat den Wert "Pieper", dann
  2264.      ergibt der Ausdruck text1$; " Thomas "; text2$ den Text "Michael
  2265.      Thomas Pieper".
  2266.  
  2267.  
  2268. 3.4  Definition von Feiertagen
  2269. ==============================
  2270.  
  2271. Im BavariaEventManager ist für alle deutschen Feiertage eine Berech-
  2272. nungsformel vorhanden. Über die FEIERTAG.DAT-Datei kann man festlegen,
  2273. für welches Bundesland die Feiertagsberechnung erfolgen soll. Im
  2274. Editor lassen sich die Feiertage und die Bundesländer ebenfalls ein-
  2275. stellen.
  2276.  
  2277. Sollen weitere Feiertage eingetragen werden, so könne diese in der
  2278. Datei FEIERTAG.DAT erfaßt werden. Diese Feiertage dienen dazu, daß bei
  2279. den TIMER-Ereignissen "FT" und "WT" (Feiertags und Werktags) nach
  2280. "Arbeitstag" und "Arbeitsfreier Tag" unterschieden werden kann.
  2281.  
  2282. Samstag und Sonntag zählen bei diesen Ereignissen ebenfalls als "FT".
  2283.  
  2284. In jeder Zeile der Datei steht ein Feiertag. Feste Feiertage werden
  2285. mit einer Jahreszahl von "xxxx" definiert, während bewegliche Feier-
  2286. tage mit der korrekten Jahreszahl eingegeben werden.
  2287.  
  2288. Das Format der Datei FEIERTAG.DAT sieht folgendermaßen aus:
  2289.  
  2290. In der ersten Zeile sollte die Definition des Bundeslandes stehen.
  2291.  
  2292.     Bundesland: <bundesland>
  2293.           Für <bundesland> sind folgende Eingaben möglich:
  2294.           "keine"
  2295.           "bundeseinheitlich"
  2296.           "Baden-Württemberg"
  2297.           "Bayern (Augsburg)",
  2298.           "Bayern (evangelisch)"
  2299.           "Bayern (katholisch)"
  2300.           "Berlin"
  2301.           "Brandenburg"
  2302.           "Bremen"
  2303.           "Hamburg"
  2304.           "Hessen"
  2305.           "Mecklenburg-Vorpommern"
  2306.           "Niedersachsen"
  2307.           "Nordrhein-Westfalen"
  2308.           "Rheinland-Pfalz"
  2309.           "Saarland"
  2310.           "Sachsen (evangelisch)"
  2311.           "Sachsen (katholisch)",
  2312.           "Sachsen-Anhalt"
  2313.           "Schleswig-Holstein"
  2314.           "Thüringen (evangelisch)"
  2315.           "Thüringen (katholisch)"
  2316.  
  2317. Standardwert ist "bundeseinheitlich". Mit "keine" wird die interne
  2318. Feiertagsberechnung abgeschaltet und es können komplett eigene Feier-
  2319. tage definiert werden.
  2320.  
  2321. Die folgenden Zeilen geben eigene Feiertage an:
  2322.  
  2323. ttmmjjjj
  2324.  
  2325.  tt    Tag des Feiertags (Der beim TIMER.EVT "FT" beachtet werden
  2326.        soll)
  2327.  
  2328.  mm    Monat
  2329.  
  2330.  jjjj  Jahr. Wird "xxxx" angegeben, so ist das ein fester Feiertag,
  2331.        der in jedem Jahr am gleichen Tag ist.
  2332.  
  2333. In der mitgelieferten Datei wurden der Heilige Abend (24.12.) und
  2334. Silvester (31.12.) eingetragen, da diese Tage zwar keine Feiertage
  2335. sind, aber dennoch bei der Telekom als "Billigtarif" gelten.
  2336.  
  2337. In Zusammenhang mit dem Eintrag "Feiertage: bundeseinheitlich" in der
  2338. FEIERTAG.DAT erreicht man, daß die Ereignisse "FT" an "billigen Tagen"
  2339. ausgeführt werden, während bei "WT" der Normaltarif im Telefonnetz
  2340. gilt.
  2341.  
  2342.  
  2343. 3.5  Systemkonfiguration
  2344. ========================
  2345.  
  2346. Mit diesem Editorteil lassen sich die Dateien EVENTMAN.INF und
  2347. BEM_EDIT.INF bearbeiten. Beim Öffnen des Fensters werden die aktuellen
  2348. Daten eingeladen und angezeigt.
  2349.  
  2350. In der ersten Zeile kann der EVT-Systempfad angegeben werden. In
  2351. diesem werden sämtliche *.EVT-Dateien gesucht. Ist dieser bereits
  2352. durch eine Environmentvariable festgelegt, so ist dieser Menüpunkt
  2353. hell dargestellt. Er kann dann zwar per Tastatur verändert werden, man
  2354. darf aber nicht vergessen, daß die Änderung nicht wirksam wird, da die
  2355. Environmentvariable Vorrang hat.
  2356.  
  2357. Der zweite Pfad (TextEditor) gibt das Programm an, das aufgerufen
  2358. wird, wenn der Aktionseditor gestartet wird. Hier kann ein beliebiger
  2359. Texteditor verwendet werden.
  2360.  
  2361. Der dritte Pfad gibt den BEM-Editor selber an. Diesen Pfad sollten Sie
  2362. ändern, wenn Sie ihren BavariaEventManager an einen anderen Platz
  2363. kopieren.
  2364.  
  2365. Die Angabe der Programmprüfung alle x Sekunden bewirkt, daß im angege-
  2366. benen Abstand überprüft wird, ob ein Programmereignis stattgefunden
  2367. hat.
  2368.  
  2369. Ein niedriger Wert bewirkt eine sofortige Reaktion auf einen Pro-
  2370. grammstart, bremst das System aber durch häufige Anfragen.
  2371.  
  2372. Die Angaben der EVT-Dateiprüfung ist nur in Singletasking-Betriebssy-
  2373. stemen von Bedeutung, oder wenn anstatt des BEM-Editors ein normaler
  2374. Texteditor verwendet wird. Es wird hier die Zeitspanne angegeben, in
  2375. der die *.EVT- Dateien überprüft werden sollen, ob sie geändert worden
  2376. sind. Unter Multitaskingsystemen wird vom BEM-EDIT eine
  2377. Änderungsnachricht an den Eventmanager gesandt, sobald eine Datei
  2378. verändert wurde.
  2379.  
  2380. Ein niedriger Wert bewirkt eine sofortige Reaktion auf eine Dateiände-
  2381. rung, bremst das System aber durch häufige Plattenzugriffe. Der
  2382. Eintrag 0 bewirkt, daß die Überprüfung abgeschaltet wird.
  2383.  
  2384. Der letzte Wert: "Maximal x INFO-Meldungen behalten" bestimmt, wieviel
  2385. INFO-Meldungen im Speicher bleiben und erneut angezeigt werden können.
  2386. Bei einem Eintrag von 10 können Sie sich also die letzten 10 INFO-
  2387. Meldungen ansehen.
  2388.  
  2389.  
  2390. 3.5.1  EVENTMAN.INF
  2391. -------------------
  2392.  
  2393. Die aktuellen Konfigurationen im BavariaEventManager können in der
  2394. Datei EVENTMAN.INF abgespeichert werden. Diese Datei wird beim Pro-
  2395. grammstart eingelesen und kann mit dem Knopf "Sichern" oder dem
  2396. Menüeintrag Datei > Konfiguration sichern erstellt werden.
  2397.  
  2398. Der Inhalt dieser Datei kann mit einem Texteditor geändert werden.
  2399.  
  2400. Die Eintragungen sehen folgendermaßen aus:
  2401.  
  2402.  AccFilePath: <pfad>
  2403.      Gibt den Pfad an, in dem die *.EVT-Dateien liegen.
  2404.  
  2405.  HauptWindow: <akt> <xx> <yy>
  2406.      Gibt die aktuelle Fensterposition an, an der das HauptFenster
  2407.      positioniert werden soll. Der Parameter "akt" kann entweder
  2408.      "Closed" oder "Opend" sein, je nachdem, ob das Fenster bei Pro-
  2409.      grammstart geöffnet sein soll oder nicht.
  2410.  
  2411.  KnopfWindow: <akt> <xx> <yy>
  2412.      Gibt die Fensterposition für das Mausknopffenster an. Der Parame-
  2413.      ter "akt" kann entweder "Closed" oder "Opend" sein, je nachdem,
  2414.      ob das Fenster gleich zu Anfang aufgehen soll oder nicht.
  2415.  
  2416.  KalenWindow: <akt> <xx> <yy>
  2417.      Gibt die Fensterposition für das Kalenderfenster an. Der Parame-
  2418.      ter "akt" kann entweder "Closed" oder "Opend" sein, je nachdem,
  2419.      ob das Fenster gleich zu Anfang aufgehen soll oder nicht.
  2420.  
  2421.  InTxtWindow: <akt> <xx> <yy>
  2422.      Gibt die Fensterposition für das Infofenster an. Der Parameter
  2423.      "akt" kann entweder "Closed" oder "Opend" sein, je nachdem, ob
  2424.      das Fenster gleich zu Anfang aufgehen soll oder nicht.
  2425.  
  2426.  SekProgFind: <ss>
  2427.      Gibt an, in welchem Abstand die in der Datei PROGRAMM.EVT angege-
  2428.      benen Programme im System gesucht werden sollen. Standardwert ist
  2429.      2. Die Angabe erfolgt in Sekunden. Ein Wert von 0 bedeutet, daß
  2430.      die Programme nicht gesucht werden sollen.
  2431.  
  2432.  SekEvtDatei: <ss>
  2433.      Gibt an, in welchem Abstand die *.EVT-Dateien auf ein neues
  2434.      Dateidatum überprüft werden sollen. Ist im System kein Cache
  2435.      installiert, sollte dieser Wert relativ hoch angesetzt werden
  2436.      oder mit 0 abgeschaltet bleiben. Angabe erfolgt in Sekunden,
  2437.      Standardwert ist 0. Erforderlich ist dieser Wert nur, wenn die
  2438.      *.EVT-Dateien mit einem Texteditor geändert werden. Der Editor
  2439.      BEM_EDIT.PRG sendet automatisch eine Nachricht an den Bavaria-
  2440.      EventManager, wenn Dateien verändert wurden, damit dieser die
  2441.      Dateien dann nachladen kann.
  2442.  
  2443.  BEMEditPath: <pfad des BEM_EDIT.PRG>
  2444.      Gibt an, wo der BEM-Editor zu finden ist. Wird über das Menü
  2445.      Datei > Ereigniseditor starten der Editor aufgerufen, wird das
  2446.      Programm gestartet, das hier definiert ist.
  2447.  
  2448.  INFO-Anzahl: <Anzahl der maximalen INFO-Texte>
  2449.      Gibt an, wie viele INFO-Anzeigen im Speicher gehalten werden
  2450.      sollen, bevor sie gelöscht werden.
  2451.  
  2452.  KnopfInfoln: {"Ja", "Nein"}
  2453.      Definiert, ob die INFO-Zeile des Mausbutton-Dialogs gezeichnet
  2454.      werden soll oder nicht. Dort wird der Status der Tasten SHIFT,
  2455.      CONTROL und ALTERNATE dargestellt. Wollen Sie Platz sparen und
  2456.      die Zeile nicht anzeigen, dann geben Sie "Nein" ein.
  2457.  
  2458.  KeyDelayTim:
  2459.      Gibt die Verzögerung für simulierte Tastendrücke an. Die Zeit
  2460.      wird in Millisekunden angegeben. Der Standardwert ist 200.
  2461.  
  2462.  
  2463. 3.5.2  BEM_EDIT.INF
  2464. -------------------
  2465.  
  2466. Im BEM-Editor kann mit dem Menüpunkt Datei > Konfiguration sichern
  2467. ebenfalls eine INF-Datei (BEM_EDIT.INF) geschrieben werden. In dieser
  2468. sind die Fensterpositionen des Editors vermerkt.
  2469.  
  2470.     HauptWindow: <akt> <xx> <yy>
  2471.     TimerWindow: <akt> <xx> <yy>
  2472.     ProgrWindow: <akt> <xx> <yy>
  2473.     KeybdWindow: <akt> <xx> <yy>
  2474.     Maus_Window: <akt> <xx> <yy>
  2475.     DevicWindow: <akt> <xx> <yy>
  2476.     FeierWindow: <akt> <xx> <yy>
  2477.     SysteWindow: <akt> <xx> <yy>
  2478.  
  2479.      Gibt die aktuelle Fensterposition an, an der das ent-
  2480.      sprechende Fenster positioniert werden soll. Der Parameter
  2481.      "akt" kann entweder "Closed" oder "Opend" sein, je nachdem,
  2482.      ob das Fenster bei Programmstart geöffnet sein soll oder
  2483.      nicht.
  2484.  
  2485.     AktionsEdit: <editor-pfad>
  2486.  
  2487.      Gibt den Pfad für den Aktionseditor an.
  2488.  
  2489.     Use-RSCFile: <BEM_EDIT.RSC-Datei>
  2490.  
  2491.      Gibt die RSC-Datei an, die beim Start des BEM_EDIT angezeigt
  2492.      werden soll. Dadurch kann die RSC-Datei überallhin verlegt
  2493.      werden. So ist es möglich, RSC-Files mit anderen Sprachen
  2494.      einzubinden.
  2495.  
  2496.  
  2497. 3.6  Der BavariaEventManager in Aktion
  2498. ======================================
  2499.  
  2500. Wird der BavariaEventManager ohne eine EVENTMAN.INF-Datei gestartet,
  2501. erscheint lediglich eine Menüzeile. Dennoch hat der EventManager
  2502. bereits die Ereignisdateien eingelesen und den Betrieb aufgenommen.
  2503.  
  2504. Um nun genauere Informationen des BavariaEventManagers abzurufen, oder
  2505. eine "Maustaste" zu betätigen, können bis zu 4 Fenster geöffnet
  2506. werden.
  2507.  
  2508. Bei der Benutzung als normals Programm kann man über die Menüzeile
  2509. Fenster > ... die entsprechenden Fenster öffnen.
  2510.  
  2511. Wird der BavariaEventManager als ACC unter SingleTOS eingesetzt, muß
  2512. man über das DESK-Menü > EventManager gehen. Man erhält hier das
  2513. Registrier-Fenster, in dem man auch die Möglichkeit hat, die anderen
  2514. Fenster zu öffnen.
  2515.  
  2516.  
  2517. +----------------------+----------------------+-----------------------------+
  2518. | Fenster\Einsatz als: | ACC unter SingleTOS  | Programm/ACC als Multitask  |
  2519. +----------------------+----------------------+-----------------------------+
  2520. | Registrier-Fenster   | DESK > EventManager  | EventManager > B.E.M.-Infos |
  2521. | BavariaEventStatus   | Reg.F. > Status      | Fenster > Statusfenster     |
  2522. | BavariaButtonDialog  | Reg.F. > Maustasten  | Fenster > Maustasten        |
  2523. | BavariaKalender      | Reg.F. > Kalender    | Fenster > Kalender          |
  2524. | BavariaInformation   | Reg.F. > Information | Fenster > Infofenster       |
  2525. +----------------------+----------------------+-----------------------------+
  2526.  
  2527.            Tabelle 2: Die Bedienung des BavariaEventManager
  2528.  
  2529.  
  2530.  
  2531. 3.6.1  Registrier-Fenster
  2532. -------------------------
  2533.  
  2534. Das Registrier-Fenster hat zwei Funktionen. Zuerst dient es als Infor-
  2535. mation über den Programmierer und das Copyright. In der Titelzeile
  2536. werden die Version und das Erstellungsdatum angezeigt.
  2537.  
  2538. Vor der Version 1.11 wurde die Registrierung in diesem Fenster
  2539. dargestellt. Ab der Version 1.12 entfällt diese Anzeige ersatzlos.
  2540.  
  2541. Als zweite Funktion dient es zum Öffnen der Fenster. Es stehen hier im
  2542. linken unteren Bereich des Fensters 4 Buttons zur Verfügung, mit denen
  2543. die 4 weiteren Fenster geöffnet werden können.
  2544.  
  2545. Beim Einsatz als ACC unter SingleTOS ist dies die einzige Möglichkeit,
  2546. die Fenster zu öffnen, da ein Accessory keine Menüleiste besitzt.
  2547.  
  2548. Das Informationsfenster ist nur dann anwählbar, wenn auch eine Infor-
  2549. mation durch einen INFO-Befehl erzeugt wurde. Ansonsten ist der Button
  2550. nicht anwählbar.
  2551.  
  2552.  
  2553. 3.6.2  BavariaEventStatus
  2554. -------------------------
  2555.  
  2556. In diesem Fenster kann man den aktuellen Status der Timerereignisse
  2557. sehen, sowie die Zeichen, die gerade aktuell an den Schnittstellen
  2558. anstehen.
  2559.  
  2560. An oberster Stelle läuft eine Uhr, die die aktuelle Systemzeit an-
  2561. zeigt. Das Feld darunter gibt das nächste Timerereignis an, das ausge-
  2562. führt werden soll. Man kann somit erkennen, wann welches Ereignis als
  2563. nächstes ansteht.
  2564.  
  2565. Ebenso sieht man, wie oft das Ereignis wiederholt werden soll.
  2566.  
  2567. Der Schnittstellenstatus zeigt an, auf welchen Schnittstellen die
  2568. Überwachung eingeschaltet ist (dunkel dargestellt) und welche Schnitt-
  2569. stellen ausgeschaltet sind (hell dargestellt). Bei den aktiven
  2570. Schnittstellen werden auch die aktuell anstehenden Zeichen ausgegeben,
  2571. so daß man sich einen Überblick verschaffen kann, welche Zeichen
  2572. bereits empfangen wurden.
  2573.  
  2574. Dieses Fenster läßt sich iconifizieren, wenn dies vom Betriebssystem
  2575. unterstützt wird. Es wird dann eine Stopuhr als Icon angezeigt.
  2576.  
  2577.  
  2578. 3.6.3  BavariaButtonDialog
  2579. --------------------------
  2580.  
  2581.  
  2582. In diesem Fenster sind die in der BUTTON.EVT definierten Maustasten
  2583. dargestellt. Es sind 4 * 4 Tasten, die nur anwählbar sind, wenn auch
  2584. ein Eintrag dazu vorhanden ist.
  2585.  
  2586. Es stehen noch 3 weitere Ebenen zur Verfügung, die mit den Tasten
  2587. SHIFT, CONTROL und ALTERNATE erreicht werden können. Die Bedienung des
  2588. Fensters ist nur dann möglich, wenn das Fenster das oberste Fenster
  2589. ist.
  2590.  
  2591. Mit der Maus kann man nun auf eine der Tasten klicken und die zugehö-
  2592. rige Aktion wird ausgelöst.
  2593.  
  2594. Dieses Fenster läßt sich iconifizieren, wenn dies vom Betriebssystem
  2595. unterstützt wird. Es wird dann eine Maus als Icon angezeigt.
  2596.  
  2597.  
  2598. 3.6.4  BavariaKalender
  2599. ----------------------
  2600.  
  2601. In diesem Fenster wird ein aktueller Kalender angezeigt. Der aktuelle
  2602. Tag wird dick umrandet dargestellt. Bei einer Farbauflösung erscheinen
  2603. außerdem Feiertage und Sonntage in der Farbe rot, Samstage in dunkel-
  2604. rot und normale Werktage in schwarz.
  2605.  
  2606. In der Infozeile steht das aktuelle Datum. Ist dies ein Feiertag, wird
  2607. ebenfalls ausgegeben, welcher Feiertag es ist. Es wird die aktuelle
  2608. Einstellung der Datei FEIERTAG.DAT übernommen.
  2609.  
  2610. Mit den Hoch- oder Runter-Knöpfen kann jeweils einen Monat weiterge-
  2611. blättert werden. Klickt man auf den grauen Bereich ober- oder unter-
  2612. halb des Schiebers, wird jeweils ein Jahr vor- oder zurückgeblättert.
  2613.  
  2614. Der Bereich des Kalenders geht von Januar 1970 bis Dezember 2037.
  2615.  
  2616.  
  2617. 3.6.5  BavariaInformation
  2618. -------------------------
  2619.  
  2620. In diesem Fenster werden die Texte ausgegeben, die mit dem Befehl INFO
  2621. erzeugt wurden. Dieses Fenster ist daher nur anwählbar, wenn bereits
  2622. im Programmlauf ein INFO-Befehl ausgeführt wurde.
  2623.  
  2624. Es wird auch genau das Datum und die Uhrzeit der Meldung angegeben, da
  2625. ja ein Weiterarbeiten und auch ein Schließen des Fensters durchaus
  2626. möglich ist. In einem eingerahmten Bereich wird die Meldung
  2627. ausgegeben.
  2628.  
  2629.  
  2630.  
  2631.  
  2632. A  Bekannte Probleme
  2633. ********************
  2634.  
  2635. Dieser Abschnitt ist einem unerfreulichem Thema gewidmet. Leider gibt
  2636. es Dinge zwischen Himmel und Erde, die meinem BavariaEventManager das
  2637. Leben schwer machen.
  2638.  
  2639. Um aber dem Anwender bei bekannten Problemen nicht im Regen stehen zu
  2640. lassen, sollen hier kurze Problemschilderungen und deren Lösungen
  2641. beschrieben werden.
  2642.  
  2643.  
  2644. A.1  FPATCH2.PRG
  2645. ================
  2646.  
  2647. Wird dieses Programm eingesetzt, kann keine Schnittstellenüberwachung
  2648. stattfinden. Der Patch verhindert souverän auch die Ausgabe auf die
  2649. Schnittstelle. Wer diesen Patch nicht braucht, sollte darauf
  2650. verzichten.
  2651.  
  2652.  
  2653. A.2  CAT auf dem Falcon mit TOS 4.04
  2654. ====================================
  2655.  
  2656. Wird CAT über den BavariaEventManager gestartet und über CAT ein
  2657. weiteres Programm gestartet (z.B: CAT-Parameter "-t"), kann CAT kein
  2658. zweites Mal gestartet werden. Ich gebe zu, es ist sehr verwirrend ...
  2659.  
  2660. Da das Problem auch ohne den BavariaEventManager nachvollziehbar ist,
  2661. kann mein Programm keine Schuld treffen.
  2662.  
  2663. Um dennoch mit CAT automatischen Maustausch machen zu können, muß das
  2664. Terminalprogramm im Batch aufgerufen werden.
  2665.  
  2666.  Hier ein verkürztes Beispiel in der AKTION.DAT:
  2667.  
  2668.  [Poll]
  2669.      RUN CAT.PRG -iq
  2670.      RUN RUFUS.APP MAUS.RUF
  2671.      RUN CAT.PRG -oq
  2672.  
  2673.  
  2674. A.3  Gestartetes Programm findet seine RSC-Datei nicht
  2675. ======================================================
  2676.  
  2677. Wird über die Befehle RUN oder EXEC ein Programm gestartet, so kann es
  2678. vorkommen, daß der aktuelle Pfad nicht auf das Programm zeigt. Da aber
  2679. viele Programme im aktuellen Verzeichnis ihre *.RSC-Datei suchen, muß
  2680. vorher mit dem Kommando PATH der Pfad gesetzt werden.
  2681.  
  2682.  Hier ein Beispiel für den CAT-Start:
  2683.  
  2684.  [Poll]
  2685.      PATH F:\CAT
  2686.      RUN F:\CAT\CAT.PRG -iq
  2687.  
  2688.  
  2689. A.4  Einsatz des BavariaEventManagers als ACC
  2690. =============================================
  2691.  
  2692. Ich möchte betonen, daß die Probleme, die hier beschrieben werden, nur
  2693. auftreten, wenn der BavariaEventManager als ACC in einem Single-
  2694. tasking- Betriebssystem betrieben wird. Unter Multitasking (Mag!C und
  2695. MultiTOS) treten die Probleme nicht auf.
  2696.  
  2697.                  Hier steht ganz am Anfang der Satz:
  2698.  
  2699.                ACCs dürfen keine Programme nachstarten!
  2700.  
  2701. Daß es der BavariaEventManager trotzdem macht, liegt daran, daß es ein
  2702. Verfahren gibt, das das trotzdem erlaubt. Der Programmstart erfolgt
  2703. beim Einsatz als ACC im SingleTOS über das AV-Protokoll von Gemini.
  2704. Damit das funktioniert, muß ein Desktop auf dem Rechner installiert
  2705. sein, der das Protokoll unterstützt, z.B. Gemini oder Ease. Ansonsten
  2706. geht ein Programmstart über das ACC schief.
  2707.  
  2708. Es gibt noch etwas:
  2709.  
  2710.                 ACCs dürfen keinen Speicher anfordern!
  2711.  
  2712. Der BavariaEventManager fordert seinen Speicher bereits beim System-
  2713. start an. Daher sollte es zu keinen Problemen kommen. Verändern sich
  2714. aber die Dateien PROGRAMM.EVT oder SS.EVT, kann es vorkommen, daß
  2715. nochmal Speicher angefordert wird. Das kann unter Umständen zum
  2716. Absturz führen. Nach Veränderung der beiden Dateien ist daher ein
  2717. Neustart des Rechners sinnvoll.
  2718.  
  2719. Ganz zum Schluß möchte ich daher zur Vorsicht raten, wenn das Programm
  2720. als ACC in SingleTOS eingesetzt wird.
  2721.  
  2722.  
  2723. A.5  Programmereignis auf Singletasking-Betriebssystemen
  2724. ========================================================
  2725.  
  2726. Unter normalen TOS-Singletasking-Betriebssystemen kann das Pro-
  2727. grammereignis lediglich eine Programmebene auswerten.
  2728.  
  2729. Das heißt, wenn man ein Programm startet, das seinerseits wieder ein
  2730. Programm aufruft, wird der Start des zweiten Programms nicht vom
  2731. BavariaEventManager erkannt und ausgewertet.
  2732.  
  2733.  
  2734. A.6  Midi-Com Einbindung
  2735. ========================
  2736.  
  2737. Leider ist die Einbindung von MIDI-COM noch nicht ganz fehlerfrei. Es
  2738. gibt derzeit noch folgendes Problem:
  2739.  
  2740. Werden sehr schnell hintereinander zwei Nachrichten verschickt, wird
  2741. die zweite Nachricht verschluckt, aber nur, wenn MIDI-COM über einen
  2742. MIDI-Ring gestartet wird.
  2743.  
  2744.  
  2745.  
  2746. B  Beispiele für den Einsatz
  2747. ****************************
  2748.  
  2749. Wofür kann denn nun der BavariaEventManager alles eingesetzt werden?
  2750.  
  2751. Die nachfolgende Liste soll nur eine kleine Auswahl sein. Der Phanta-
  2752. sie der Anwender sind keine Grenzen gesetzt.
  2753.  
  2754.         ∙ Automatischer Maustausch
  2755.  
  2756.         ∙ Automatischer Catputz
  2757.  
  2758.         ∙ Erinnerungen an wichtige Geburtstage
  2759.  
  2760.         ∙ eingeschränkte Fernbedienung eines Rechners über MODEM
  2761.  
  2762.         ∙ Vereinfachung von notwendigen Mehrfachaufrufen von di-
  2763.           versen Programmen, z.B. vor MausTausch immer Catrondo
  2764.           aufrufen.
  2765.  
  2766.         ∙ Fernbedienung eines Rechners über MIDI-COM
  2767.  
  2768.  
  2769.  
  2770. C  Definierte Feiertage
  2771. ***********************
  2772.  
  2773.  Folgende Feiertage sind im BavariaEventManager definiert:
  2774.  
  2775.  Neujahr:               bundeseinheitlich
  2776.  Heilige 3 Könige:      Bayern, Baden-Würthemberg, Sachsen-Anhalt
  2777.  Karfreitag:            bundeseinheitlich
  2778.  Ostermontag:           bundeseinheitlich
  2779.  Maifeiertag:           bundeseinheitlich
  2780.  Christi Himmelfahrt:   bundeseinheitlich
  2781.  Pfingstmontag:         bundeseinheitlich
  2782.  Fronleichnam:          Baden-Würthemberg
  2783.                         Bayern
  2784.                         Hessen
  2785.                         Nordrhein-Westfalen,
  2786.                         Rheinland-Pfalz
  2787.                         Saarland
  2788.                         Sachsen (katholisch)
  2789.                         Thürigen (katholisch)
  2790.  Friedensfest:          Bayern (Augsburg)
  2791.  Maria Himmelfahrt:     Bayern (katholisch)
  2792.                         Saarland
  2793.  Tag d.deutschen Einh.: bundeseinheitlich
  2794.  Reformationstag:       Brandenburg
  2795.                         Mecklenburg-Vorpommern
  2796.                         Sachsen (evangelisch)
  2797.                         Sachsen-Anhalt
  2798.                         Thüringen (evangelisch)
  2799.  Allerheiligen:         Baden-Würthemberg
  2800.                         Bayern
  2801.                         Saarland,
  2802.                         Nordrhein-Westfalen
  2803.                         Rheinland-Pfalz
  2804.                         Sachsen (katholisch)
  2805.                         Thürigen (katholisch)
  2806.  Buß und Bettag:        Sachsen
  2807.  1. Weihnachtsfeiertag: bundeseinheitlich
  2808.  2. Weihnachtsfeiertag: bundeseinheitlich
  2809.  
  2810.  
  2811.  
  2812. D  Haftungsausschluß und Warnung
  2813. ********************************
  2814.  
  2815. Das Programm wurde in diversen Konfigurationen getestet, dennoch kann
  2816. ich keine Haftung für eventuell durch dieses Programm verursachte
  2817. Schäden, gleich welcher Art, übernehmen.
  2818.  
  2819. Im Speziellen sei darauf hingewiesen, daß der Einsatz als ACC voraus-
  2820. setzt, daß bei einem Programmstart als Aktion ein Desktop im Speicher
  2821. sein muß, der das AV_START-Protokoll versteht, um einen Programmstart
  2822. durchzuführen (nur unter SingleTOS).
  2823.  
  2824. Desweitern kann es beim Verändern der Dateien PROGRAMM.EVT und SS.EVT
  2825. während des Einsatzes als ACC zu Problemen kommen. Bitte beachten Sie
  2826. dringend den Absatz "Bekannte Probleme"!
  2827.  
  2828.  
  2829.  
  2830. E  Autor
  2831. ********
  2832.  
  2833. Programmiert wurde der BavariaEventManager in Pure C 1.1.
  2834.  
  2835. Die RSC wurden in INTERFACE 2.32 erstellt.
  2836.  
  2837.                              ALADIN-Soft
  2838.  
  2839.   Anschrift:           E-mailadresse:
  2840.   Michael Pieper       MausNet: Michael Pieper @ A
  2841.   Flurstraße 5                  Michael Pieper @ LL
  2842.   86368 Gersthofen    Internet: michael@ghf.augusta.de
  2843.   Tel.: 0821/2 99 11 33
  2844.  
  2845. Von Anrufen nach 22:00 Uhr bitte ich abzusehen, da mein Arbeitstag
  2846. relativ früh beginnt!
  2847.  
  2848. Nun hoffe ich, daß Ihnen das Programm gefällt. Für Anregungen und
  2849. Kritik habe ich jederzeit ein offenes Ohr.
  2850.  
  2851. ----------------------------------------------------------------------
  2852.  
  2853. Dokumentation des BavariaEventManager von Michael Pieper
  2854.  
  2855. Anpassung des Textes an UDO zur Erzeugung des ST-Guide-Hypertextes,
  2856. des HTML-Textes und des ASCII-Textes:
  2857.  
  2858. Dietmar Hollenberg
  2859.  
  2860. E-Mail: Dietmar Hollenberg @ DO2 dietmar_hollenberg@do2.maus.ruhr.de
  2861.  
  2862. Korrekturen und Verbesserungsvorschläge deshalb bitte direkt an diese
  2863. Adresse schicken.
  2864.  
  2865.  
  2866.  
  2867.  
  2868.